Autor | Zpráva | ||
---|---|---|---|
MelkorNemesis Profil |
#1 · Zasláno: 17. 10. 2009, 17:45:26 · Upravil/a: MelkorNemesis
Ahoj, mam problem s lookbehind asertivni negaci v regularnim vyrazu.
preg_replace('/\<a (.*)=\"(?<!=mailto\:)(.*)\@(.*)\.(.*)\">(.*)\<\/a\>/','<a href="mailto:\\2@\\3.\\4">\\5</a>', stripslashes($post)); Potrebuju v odkazech "href='neco@nekde.xxx'" pridat prefix "mailto:" pouze, pokud tam tento prefix uz neni. Zkousel jsem psat podle http://www.php.net/manual/en/regexp.reference.assertions.php a projet par for, ale bez uspechu. v PHP se mi prefix prida treba 5x, jakoby to matchnulo, ze to tam neni. na regexp.cz mi to pise Warning: ereg() [function.ereg]: REG_BADRPT in /usr/home/www/regexp/www/index.php on line 90 Prosim o radu - urgentni Diky a jsem s pozdravem Michal Sevcik |
||
AM_ Profil |
#2 · Zasláno: 17. 10. 2009, 18:14:08
„na regexp.cz mi to pise 1
Warning: ereg() [function.ereg]: REG_BADRPT in /usr/home/www/regexp/www/index.php on line 90“ POSIXové regulární výrazy vůbec lookbehind ani lookforward nepodporují, takže proto. Lze to jen přes preg_* jinak nevím, v čem je problém. |
||
MelkorNemesis Profil |
#3 · Zasláno: 17. 10. 2009, 20:16:15
delam pres preg_* no, uvidim co vygooglim jeste. Kazdopadne dik
|
||
MelkorNemesis Profil |
#4 · Zasláno: 17. 10. 2009, 22:11:28
jeste se omlouvam za nadpis, ono to je negativni aserce :/
|
||
Časová prodleva: 15 let
|
0