Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zamienić link na tekst?
Forum PHP.pl > Forum > PHP
Saki
Witam, mam mały problem, muszę zamienić:
z:
Lorem ipsum dolor sit amet, <a href="http://google.com/" target="_blank">[LINK]</a> consectetur adipiscing elit.
na:
"Lorem ipsum dolor sit amet, http://google.com/ consectetur adipiscing elit."

Próbowałem:
  1. $dane[6][$i] = preg_replace("#<a href=\"#", "", $dane[6][$i]);
  2. $dane[6][$i] = preg_replace("#\" target=\"_blank\">[LINK]</a>#", "", $dane[6][$i]);
  3. $dane[6][$i] = preg_replace("#target=\"_blank\">[LINK]</a>#", "", $dane[6][$i]);


Ale usuwa tylko <a href=" a końcówka " target="_blank">[LINK]</a> zostaje.
Czy wiecie jak to naprawić, lub macie lepszy pomysł na zamianę?
zalazdi
Hmm... A taka opcja odpowiada?

  1. str_replace('<a href="', '', $tekst);
  2. str_replace('" target="_blank">', '', $tekst);


Bez kombinowania na szybko.
k_@_m_i_l
  1.  
  2. $link = '<a target="_blank" href="http://google.com/" >abc</a>';
  3. $test = preg_replace('#<a(.*)href="(.*)"(.*)>(.*)<\/a>#is','<a href="$2">$2</a>',$link);


Spróbuj coś takiego.
Saki
Cytat(k_@_m_i_l @ 7.06.2012, 21:33:50 ) *
  1.  
  2. $link = '<a target="_blank" href="http://google.com/" >abc</a>';
  3. $test = preg_replace('#<a(.*)href="(.*)"(.*)>(.*)<\/a>#is','<a href="$2">$2</a>',$link);


Spróbuj coś takiego.


Nie działa, zostawia " target="_blank"
  1. $test = preg_replace('#<a(.*)href="(.*)"(.*)>(.*)<\/a>#is','$2',$link);


Nie działa, zostawia " target="_blank"

  1. $test = preg_replace('#<a(.*)href="(.*)"(.*)>(.*)<\/a>#is','$2',$link);


Wzór "<a href="http://google.com/" target="_blank">[LINK]</a>" Atrybuty nie mogą zostać zmienione!
k_@_m_i_l
  1. $link = '<a id="id2" href="http://google.com/" class="22class" target="_blank">[LINK]</a>';
  2. $preg='#<a(.*)href="(.*?)"(.*)>(.*)<\/a>#is';
  3. $test = preg_replace($preg,'<a$1href="$2"$3>$2</a>',$link);
Saki
Cytat(k_@_m_i_l @ 7.06.2012, 21:56:08 ) *
  1. $link = '<a id="id2" href="http://google.com/" class="22class" target="_blank">[LINK]</a>';
  2. $preg='#<a(.*)href="(.*?)"(.*)>(.*)<\/a>#is';
  3. $test = preg_replace($preg,'<a$1href="$2"$3>$2</a>',$link);



Nie działa:
Zwraca: Lorem ipsum dolor sit amet, <a href="http://google.com/" target="_blank">http://google.com/</a> consectetur adipiscing elit.
Zamiast: Lorem ipsum dolor sit amet, http://google.com/ consectetur adipiscing elit.

  1. <?PHP
  2.  
  3. $link = 'Lorem ipsum dolor sit amet, <a href="http://google.com/" target="_blank">[LINK]</a> consectetur adipiscing elit. ';
  4. $preg='#<a(.*)href="(.*?)"(.*)>(.*)<\/a>#is';
  5. $test = preg_replace($preg,'<a$1href="$2"$3>$2</a>',$link);
  6.  
  7. echo $test;
  8. ?>


NIe potrzebuje class i id tylko to: <a href="http://google.com/" target="_blank">[LINK]</a> pobieram to za pomocą curl i nie zostanie nigdy zmienione




k_@_m_i_l
Zobacz: http://giermek.info/preg.php
U mnie to jakoś działa.
krowal
@k_@_m_i_l Po co dajesz tyle tych atomów skoro potrzebne ci tylko to co znajduje się w href.
  1. preg_replace('/<a .*? href="(.*?)".*?>.*?<\/a>?/is', '<a href="$1">$1</a>', $tekst)
diabel
sprawdz czy czasem nie zmieniło Ci < na &lt; i analogicznie >
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.