Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> preg_replace
pogdan
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 21.10.2007

Ostrzeżenie: (0%)
-----


Jak napisać wyrażęnie w pierwszym parametrze funckji preg_replace, żeby do każdego linku dopisało mi class="ala ma kota"?
Poniższy kod działa tylko do pierwszego wystąpienia szukanego wzorca. Działa tak jakbym chciał jak się połamie linię (string $s ).


$s = 'kota <a href="http://www.cos.ala.gif" title="aol" >ola</a> ala ma kota <a href="http://www.cos.pl/ola 2/ala.ala.jpg" title="aol" >ola</a> ala ma ';
echo preg_replace('/ (href="(.+)\.(jpg|gif|png|jpeg)")* /si', ' class="ala ma kota" ${1} ', $s);

poz

Ten post edytował pogdan 23.06.2010, 15:34:06
Go to the top of the page
+Quote Post
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Do takiego przykładu wystarczy str_replace
  1. echo str_replace('<a', '<a class="ala ma kota"', $s);
Go to the top of the page
+Quote Post
pogdan
post
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 21.10.2007

Ostrzeżenie: (0%)
-----


Tak źle napisałem. Chcę tylko dla obrazka. tzn jeśli wartosc atrybutu href kończy się .gif lub .jpg lub .png lub .jpeg

( i jest wszystko fajnie jak połamię linię/stringa s natomiast jak nie ma enterów to tylko dla pierwszego linka to robi )

coś takiego działa idealnie ale ten str_replece jest nie ok na pewno da się to jednym preg_zrobić.

$s = 'adfadf <a href="http://www.cos.ala.html" >tstrona</a> kota <a href="http://www.cos.ala.gif" title="aol" >ola</a> ala ma kota <a href="http://www.cos.pl/ola 2/ala.ala.jpg" title="aol" >ola</a> ala ma ';
$s= str_replace("</a>","</a>\n", $s );
echo preg_replace('/ (href=".+\.(jpg|gif|png|jpeg)") /i', ' class="ala ma kota" ${1} ', $s,20);

Ten post edytował pogdan 23.06.2010, 18:02:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:53