Autor Zpráva
krteczek
Profil
Mám takový výraz:

$text=preg_replace_callback("#(\"|\")(.*[^\"])(\"|\"):\#(.*[ ^( |\t)])($| |\t|\n)#U", $funkce, $text);

a takový text:

"Nahoru":#top :#odstavce

a ono mi to sežere obě části toho textu, ikdyž tam mám že text nesmí obsahovat mezeru a mezerou, koncem řádku, nebo koncem končí. nevíte co mám blbě?
krteczek
Retal
Profil
A co že to má dělat?
krteczek
Profil
má to najít ve $text všechny výskyty "nějaký text":#odkaz a odevzdat funkci která vrátí <a href="#odkaz">nějaký text</a>. jenže mi to sežere i to co je za mezeroutakže to nefacha jak ma:-(
Retal
Profil
Jestli chceš jen vytvořit odkazy, nepotřebuješ callback, stačí preg_replace.

Toto dělá, co chceš:
$text = preg_replace('/("|&quot;)(.+[^"])("|&quot;):#(.+)(\s|\n)/U', '<a href="\4">\2</a>\5', $text);
Toto téma je uzamčeno. Odpověď nelze zaslat.