Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomoc z RegExpem.
kam821
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 24.10.2009

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


Witajcie (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/winksmiley.jpg)
Taka oto linia w pętli na wyniku z preg_match_all:
  1. if ( substr($matches[2][$i], 0, 5) == '<img ' ) continue;


Ten post edytował kam821 22.03.2010, 21:13:58
Go to the top of the page
+Quote Post
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


czyli
  1. <IMG >

juz by przeszlo?
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(kam821 @ 22.03.2010, 21:01:25 ) *
Witajcie (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 ?
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: 8.10.2025 - 13:25