Autor Zpráva
anonymní
Profil *
Mám takýto regulár na označovanie linkov:
"/(^|[^\\w\\-])(SLOVO|SLOVO2)($|[^\\w\\-])/mi"

Ale ak mám text:
Toto <a href="http://google.sk/">SLOVO</a> je už označené a SLOVO2 nie.
Tak mi to vytvorý: <a href="http://google.sk/?q=SLOVO"><a href="http://google.sk/">SLOVO</a></a>
anonymní
Profil *
resp. Ako zmeniť regulár, aby neoznačoval už označený LINK ?
Tori
Profil
anonymní:
Tzn. za hledaným řetězcem nesmí následovat </a> : koukněte na http://cz2.php.net/manual/en/regexp.reference.assertions.php
anonymní
Profil *
Ani pomocou tohto to nefunguje: (?<=!<\/a>)
Tori
Profil
anonymní:
Tohle je na opačnou stranu (následující části reguláru nesmí předcházet ukončení odkazu). Potřebujete (?! (za touto částí nesmí následovat..., "negative lookahead assertion").

Btw, kdyby někdo poradil, jak se to nějak pěkně řekne česky, budu ráda. "Záporné tvrzení o následujícím" (regularnivyrazy.info) je sice přesné, ale do obecné češtiny moc nesedí. "Negativní aserce" by asi dávalo smysl spíš pro člověka věci znalého. edit: "[Negativní] vyhlížení" (P. Satrapa, odkaz) pro následující výskyt se mi celkem líbí.
anonymní
Profil *
Tak ako má teda vyzerať celý regulár ?
Tori
Profil
"/(^|[^\\w\\-])(SLOVO|SLOVO2)(?!<\\/a>|\\w)/mi"

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:

0