Autor | Zpráva | ||
---|---|---|---|
states68 Profil * |
Ahoj, pomocí fce str_replace chci udělat z vybraného slova odkaz.
$text = str_replace("slovo","<a href=\"http://www.nejakadomena.cz\" target=\"_blank\">slovo</a>",$text); Vše funguje OK, ale problém nastane, když se dané slovo vyskytuje v title nebo alt u obrázků - pak provede výše uvedené i v těch title nebo altech. Potřeboval bych, aby v $text str_replace ignoroval vše co je v title, alt nebo rovnou vše v <img src...> díky za každou radu či odkaz states68 Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
AM_ Profil |
#2 · Zasláno: 11. 8. 2010, 14:19:58
Takhle ti to bude ignorovat "slovo" všude uvnitř HTML tagů (tedy mezi < >).
$text = preg_replace("~slovo(?![^<]*>)~i","<a href=\"http://www.nejakadomena.cz\" target=\"_blank\">slovo</a>",$text); Předpokládá to validní HTML, takže pokud tam budeš mít něco ne úplně správně zapsané (třeba <b>slovo > 5</b> místo <b>slovo > 5</b>), tak ti to nebude fungovat. |
||
states68 Profil * |
#3 · Zasláno: 12. 8. 2010, 06:37:29
děkuji moc, funguje to bezvadně - http://www.ok-recepty.cz/view.php?nazevclanku=grilovane-kvetakove-placicky-bez-tuku-foto-postup&cisloclanku=2008070006
|
||
Časová prodleva: 14 let
|
0