Autor Zpráva
perry
Profil *
Potřebuji regulární výraz na náhradu textu za odkaz... nicméně pouze pokud není text mezi určitými slovy...

$text1 = "[link=http://www.link.com]http://www.link.com[/link]";
$text2 = "http://www.link.com";

Pro text1 nenahrazovat, pro text2 nahradit za <a href="...">....</a>
Tori
Profil
Hledat jste nezkoušel?
regularni vyrazy po sté
preg_replace a BBCode
perry
Profil *
Postnuté odkazy dělají jen půlku.. kterou navíc vim.. potřebuju v jednom reguláru ošetřit právě rozdíl mezi text1 a text2
Joker
Profil
Regulární výraz kterému odpovídá text2 a ne text1 může vypadat třeba takhle:
(?<!(\[link=))((https?):\/\/[\w\d:#@%\/;$()~_?\+-=\\\.&]+)
To první je negativní tvrzení o předcházejícím a ten zbytek jedna z možností, jak testovat URL.
Neboli adresa kterou nepředchází text [link=

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: