Autor | Zpráva | ||
---|---|---|---|
andynewcastleth Profil |
#1 · Zasláno: 31. 1. 2020, 03:10:25
Mám například článek. A například sedmý <p> by jsem chtěl nahradit za $reklama<p>.
Zkoušel jsem např. toto, ale nedaří se: function str_replace_n($search, $replace, $subject, $occurrence) { $search = preg_quote($search); return preg_replace("/^((?:(?:.*?$search){".--$occurrence."}.*?))$search/", "$1$replace", $subject); } $vysledek = str_replace_n("<p>","$reklama<p>", $vysledek, $odstavcu); |
||
Kajman Profil |
#2 · Zasláno: 31. 1. 2020, 09:00:31
Špidlaté závorky máte hned za hledaným výrazem, tak by musely být hned za sebou, kvantifikátor asi patří dál.
Osobně bych na to spíše použil mb_strpos s offsetem, asi to bude rychlejší. |
||
andynewcastleth Profil |
Já nevím, kdyby tady aspoň byly nějaké ukázky... .
Toto vždy vloží na začátek druhého odstavce. //pocet odstavcu deleno dvema $odstavcu = floor((substr_count($row["text"], '<p>'))/2); //pozice poloviny clanku $pos = mb_strpos($row["text"], '<p>', $odstavcu); //vlozeni $str_to_insert="INSERTED"; $newstr = substr_replace($row["text"], $str_to_insert, $pos, 0); echo $newstr; |
||
Časová prodleva: 4 roky
|
0