Autor | Zpráva | ||
---|---|---|---|
sloncz Profil |
Hezký večer, chtěl bych se zeptat.
Mám: <div title="Prase 1">..</div> <div title="Slon 5">..</div> <div title="Prase 1">.. --- ..</div> Potom replacuji pomocí php str_replace("Prase 1", "Prase Bradavičnaté", $retezec); Ovšem to mi replacne oba dva div-title, je nějaké řešení, aby to replacnulo pouze první slovo, které to najde? Děkuji //EDIT: vyřešeno |
||
Alphard Profil |
#2 · Zasláno: 13. 11. 2014, 00:05:15
|
||
mimochodec Profil |
|||
juriad Profil |
str_replace to neumí omezit. Můžeš použít preg_replace, které to umí (4. argument). Tato funkce se chová stejně, dokud nepoužiješ nájaký speciální znak:
^*()[]{}.?+ , musíš ale vzor uzavřít mezi nějaké oddělovače (často se používají lomítka).
mimochodec: To je výstupní paramer: If passed, this will be set to the number of replacements performed. |
||
mimochodec Profil |
#5 · Zasláno: 13. 11. 2014, 00:24:02
juriad:
Aha, tak dík. Já se do příště naučím číst, než budu něco linkovat. O tom parametru vím celou dobu, ale nikdy jsem ho nepoužil a myslel jsem, že se tam ten počet zadává. |
||
sloncz Profil |
#6 · Zasláno: 13. 11. 2014, 17:36:48
Omlouvám se, že jsem nenapsal řešení :)
Ano, využil jsem na to funkci preg_replace, která má jako parametr počet, kolik slov bude nahrazeno. preg_replace("/Prase 1/","Prase Bradavičnaté", $rezetec, 1); |
||
Časová prodleva: 10 let
|
0