| Autor | Zpráva | ||
|---|---|---|---|
| Anonymní Profil * |
#1 · Zasláno: 10. 10. 2006, 20:07:04
Ludia, prosim vas, ako mozem v retazci nahradit slovo medzi ":" a "|"? Uz sa s tym morim cely vecer a stale to nefunguje. Neviem ci na to idem vobec dobre.. asi som regularne vyrazy akosi nepochopil. Skusal som nieco take (je to sprostost..):
preg_replace('/(.*:)[^|](.*)/i', "$1".$text."$2", $string);
|
||
| Retal Profil |
#2 · Zasláno: 10. 10. 2006, 20:19:59 · Upravil/a: Retal
|
||
| rabbit Profil |
#3 · Zasláno: 10. 10. 2006, 20:22:44 · Upravil/a: rabbit
Jdeš na to imho dobře, ale u toho [^|] ti chybí kvantifikátor ... takže ti to provede nahrazení, jen pokud je tam jeden znak. Přidej tam hvězdičku. A pokud víš, že je ten řetězec v $string jen jednou, můžeš přidat znaky začátku a konce řetězce. Nechce se mi to testovat, tak snad to bude správně. Jo, a ty dolary ($1 a $2) dej buď do apostrofů místo do uvozovek, nebo je escapuj!!!
preg_replace('/^(.*:)[^|]*(.*)$/i', '$1' . $text . '$2', $string);
|
||
| rabbit Profil |
#4 · Zasláno: 10. 10. 2006, 20:24:37
A nebo to udělej, jak ti radí Retal O;-)
|
||
| Anonymní Profil * |
#5 · Zasláno: 10. 10. 2006, 20:40:14
dik :)
|
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0