Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomoc z RegExpem.
Forum PHP.pl > Forum > PHP
kam821
Witajcie smile.gif
Mam pewien problem z ułożeniem wyrażenia regularnego sprawdzjącego linki.
W przypadku, kiedy nie potrzebowałbym dodatkowej opcji wyglądałoby to tak:
  1. "#<a[^>](.*?)>(.*?)</a>#is"

Lecz potrzebuję dodać wymaganie tego, pomiędzy tagami <a> nie znajdował się obrazek (tag <img>)
Jedyne na co wpadłem sam to coś takiego, ale wtedy żaden link nie jest uznawany za zgodny z wyrażeniem:
  1. "#<a[^>](.*?)>(?!<img[^>](.*?)>)</a>#is"


Do usunięcia, załatwiłem to w 'nieco' inny sposób winksmiley.jpg
Taka oto linia w pętli na wyniku z preg_match_all:
  1. if ( substr($matches[2][$i], 0, 5) == '<img ' ) continue;
ddiceman
czyli
  1. <IMG >

juz by przeszlo?
Fifi209
Cytat(kam821 @ 22.03.2010, 21:01:25 ) *
Witajcie smile.gif
Mam pewien problem z ułożeniem wyrażenia regularnego sprawdzjącego linki.
W przypadku, kiedy nie potrzebowałbym dodatkowej opcji wyglądałoby to tak:
  1. "#<a[^>](.*?)>(.*?)</a>#is"

Wyrażenie powinno wyglądać mniej więcej tak:
#<a[^>]+>(.*?)</a>#is
Cytat(kam821 @ 22.03.2010, 21:01:25 ) *
Do usunięcia, załatwiłem to w 'nieco' inny sposób winksmiley.jpg
Taka oto linia w pętli na wyniku z preg_match_all:
  1. if ( substr($matches[2][$i], 0, 5) == '<img ' ) continue;

Nie prościej użyć strpos ?
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.