Autor Zpráva
Kcko
Profil
Ahoj,

potrebuji v textu zamenit znak paragrafu a cislo na urcity odkaz. V tom problem neni.
$src = preg_replace("~(§\s*)(\d+)~", "<a href=\"#para$2\">$1$2</a>", $src);


Problem je v tom, ze text je plny HTML-ka, a tyto zameny se maji provadet pouze mezi tagy
<p></p>


Nevim jak ten regular osetrit / upravit.

Nevedel by nekdo?

Diky
RockFire
Profil
Mělo by to fungovat.
$src = preg_replace("~(<p>)(.*?)(§\s*)(\d+)(.*?)(</p>)~", "$2<a href=\"#para$4\">$3$4</a>$5", $src);
Kcko
Profil
RockFire:
Ne uplne, neco podobne jsem mel taky, nahrazuje to divne, nahradilo mi to jen 2 vyskyty a urizlo nektera <p> tagy

Html soubor je zde, kdybysis Ty nebo nekdo jiny chtel hrat http://pastebin.com/d424e645a

Diky ( uz vymyslim alternativu)
Jan Tvrdík
Profil
Kcko:
Samotný regulární výraz napsat nedokážu, ale mělo by jít pomocí preg_replace_callback vytáhnout všechny obsahy těch odstavců v těch to pak jednoduše nahradit pomocí preg_replace.
Kcko
Profil
Jan Tvrdík:
Diky za snahu. Udelal jsem to nakonec jinak ( v textu krom paragrafu jsou jen nadpisy, takze jsem to pote vyhazel z nich , bylo to snazsi)

Diky a zamykam.
Toto téma je uzamčeno. Odpověď nelze zaslat.