PHP: Vlozenie retazca do ineho na urcite miesto
Mam premennu $a a premennu $b. Premenna $a obsahuje na zaciatku to iste co obsahuje premenna $b
priklad:
$a = Rano som isiel do skoly.
$b = Rano
Potrebujem do premennej $a vlozit za hodnotu premennej $b nejaky text($c).
Priklad:
$a = Rano som isiel do skoly.
$b = Rano som isiel
$c = rychlo
$veta = xyz($a, $b, $c)
print $veta -> Rano som isiel rychlo do skoly
Ako by ste to riesili? Skusal som uz vselico, ale stale sa mi nedari docielit spravny vysledok. Najblizsie som sa dostal s pomocou count() a substr() ale v realnom nasadeni to nefungovalo spravne.
Re: PHP: Vlozenie retazca do ineho na urcite miesto
a takhle to nestaci?
$veta = str_replace($b, $b.$c, $a)
EDIT: akorat je treba poresit mezery atd.
Re: PHP: Vlozenie retazca do ineho na urcite miesto
V PHP teď nemám přesný ekvivalenty v hlavě, ale nedávno jsem něco podobnýho dělal v Excelu ve VBA, tam by to znělo nějak takhle:
konec = Mid(Len(b)+1, Len(a)-Len(b)) // první parametr určuje pozici v řetězci, druhý parametr určuje počet následujících znaků, len délka stringu
veta = b + c + konec
UPDATE>
Jinak pomocí substr by to v PHP znělo (snad to moc nedoprasím) následovně
$konec = substr($a, strlen($b)+1, strlen($a)-strlen($b));
$veta = $b.$c.$konec
EDIT> Ale Anduril podle me napsal taktez funkcni reseni :-)
Re: PHP: Vlozenie retazca do ineho na urcite miesto
Zajtra sa na to pozriem, dnes uz na to kaslem. Viem ze niektora z tych funkcii robila to co chcem, tusim strstr(uz nemam prehlad), len problem bol v tom, ze nebrala do uvahy medzery, takze sa mi nahradili vsetky pismena inymi a bol z toho gulas.
Re: PHP: Vlozenie retazca do ineho na urcite miesto
Citace:
Původně odeslal
Anduril
a takhle to nestaci?
$veta = str_replace($b, $b.$c, $a)
EDIT: akorat je treba poresit mezery atd.
J, ale ako osetrit tie medzery?
Re: PHP: Vlozenie retazca do ineho na urcite miesto
Mno, tak mezi $b a $c mezera byt musi ne? Nic jineho tam imho byt nemuze. .. takze misto $b.$c bude $b.' '.$c. A co je za timto spojenim, uz je jedno..zustane tam to, co bylo za puvodnim $b.
Re: PHP: Vlozenie retazca do ineho na urcite miesto
Na toto je idealni pouzit regularni vyraz, z hlavy psat nebudu, vzdycky se to musim ucit znova kdyz to nekde potrebuju (napr ^ znamena zacatek, tecka libovolnej znak, * libovolnej pocet vyskytu predchoziho ... ) ;), ale je to neuveritelne mocnej nastroj prave na vsemozne akce s textem. V PHP hledej tusim fci regex.
Jako bonus pokud se to naucis pouzivat ziskas moznost provadet se stringama vsemozny brikule ktery ti nic jinyho udelat neumozni, alternativne to lze delat jen celkem slozitym programovanim.
Re: PHP: Vlozenie retazca do ineho na urcite miesto
Na koniec som pouzil ereg_replace(), ale aj tak to nefunguje. Problem bude pravdepodobne v aplikacii ako takej(CMS) a nie v kode. Anyway, dik za tipy.