Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja preg_replace niczego nie zamienia w ciągu znaków.
jack1142
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 8.03.2015

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


Witam,
jako iż mam zamiar korzystać z lightbox'a to stworzyłem wyrażenie, które znajduje obrazek w kodzie i dodaje do kodu element a z linkiem do obrazka.
Kod wygląda następująco:
  1. <?php
  2. $html = preg_replace( '/(<img )([^]*)(?!src=")*(src=")([^"]*)([^\/>]*)(\/>)/', "<a href='$4' data-lightbox='pageimg'>$1$2$3$4$5$6</a>", $html);
  3. ?>

Zmienna $html:
  1. <p><strong>Przykładowy pogrubiony tekst.</strong></p>
  2.  
  3. <p>Przykładowy tekst.</p>
  4.  
  5. <p><img alt="coś" class="test1" dir="ltr" id="test" lang="pl" src="/templates/default/assets/logoarka.png" style="border-style:solid; border-width:1px; float:left; height:107px; margin:3px 2px; width:108px" title="test32" /></p>

Problem w tym, że z jakiegoś powodu ten kod nie działa. Wyrażenie regularne jest poprawne, gdyż sprawdzałem je na stronie RegExr(sprawdzającej poprawność wyrażenia).
Nie wiem, gdzie w kodzie popełniłem błąd. Wydaje mi się on poprawny, jednak rzadko korzystam z wyrażeń regularnych, więc mogłem czegoś nie zauważyć.

Ten post edytował jack1142 8.03.2015, 19:23:04
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 07:31