Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z weryfikacją (wyrażenia regularne)
Fred1485
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

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


Mam dwa proste bbcode na url: pierwszy to:

  1. $text = preg_replace('#\[url\=(.*?)\](.*?)\[\/url\]#', '<a href=\1>\2</a>', $text);


drugi to:

  1. $text = preg_replace('#((http|https|ftp|ftps)[\w\#$%&~/.\-;:=,?@\(\)]*)#si', '<a href=\1>\1</a>', $text);


Oba kody działają wyśmienicie ALE osobno niestety bo jak pewna część osób już zauważyła gdy chcę aby działały te dwa skrypty to się wzajemnie wykluczają, tj

Jeśli wkleję jakiś link to skrypt nr dwa przekształca go na link ale, jeśli w [url ][ /url] dam jakiś link to oba wyrażenia regularne do niego niestety pasują i w efekcie wychodzi kicha :\ np daję link [url ]http://www.google.pl[ /url] to pierwszy skrypt przekształci go w <a href=http://www.google.pl>http://www.google.pl</a> ale po nim drugie wyrażenie regularne zamieni dalej ten kod na <a href=<a href=>http://www.google.pl</a>><a href=>http://www.google.pl</a></a>

I się wszystko miesza :\

Myślałem nad tym żeby sprawdzić czy został użyty [url] ale to i tak nic nie da na dobrą sprawę...
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.08.2025 - 07:53