Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 8. 12. 2006, 08:12:50
Zdravím všechny,
mám problém s pochopením funkce ereg_replace. potřeboval bych, aby mi s nalezeným patternem provedla nějakou úpravu, konkrétně např aby řetězec "[podrobnost]" nahradila obsahem $pole["podrobnost"]. tedy např. "Nápověda [detail]" změnila na "Nápověda nedostupná", pokud $pole["detail"] = "nedostupná"; Zkoušel jsem i jiné funkce, např. $str = ereg_replace("pokus", strtoupper(//1), $test); ale zdá se, že tudy cesta nevede. Zná někdo lepší způsob vyhledání a nahrazení výrazu "[cosi]" za $pole["cosi"] ? mě napadá jen použítí strpos(), ale to mi přijde jako dost mrzácké. Děkuji předem za nápovědu a dobré rady. Milan |
||
k Profil * |
#2 · Zasláno: 8. 12. 2006, 10:43:06
preg_replace("/[cosi]/i",$pole['cosi'],"Napoveda [cosi]");
|
||
peta Profil |
#3 · Zasláno: 8. 12. 2006, 13:14:07
http://cz2.php.net/nazevfunkce
http://cz2.php.net/ereg_replace je tam spousta prikladu k "/[cosi]/i" ja myslel, ze [] se pouzivaji pro vycet znaku, cili reg vyraz je platny jen pro pismena c o s i |
||
Anonymní Profil * |
#4 · Zasláno: 8. 12. 2006, 18:39:26
Ahoj lidi,
předem děkuji za reakce, bohužel, asi jsem to nenapsal správně. Hledám COKOLI v hranatých závorkách (nebo jiném označení, třeba kulatých, to je jedno), a výraz, který v závorkách naleznu, chci nahradit hodnotou z pole, jejiž klíč je shodný s nalezenou hodnotou. Přítom dopředu nevím, co v těch závorkách najdu. Čili s výrazem //1 bych rád spáchal nějakou funkci : $rv = ereg_replace('\\[(.[^[]*)\\]',strtoupper(\\1),$string); třeba strtoupper, to je fuk. Milan |
||
nightfish Profil |
#5 · Zasláno: 8. 12. 2006, 18:53:22
Anonymní
trochu krkolomné, nicméně můžeš vyzkoušet:
akorát bude potřeba to prohnat cyklem, který bude kontrolovat, zda-li jsou tam ještě nějaké hranaté závorky - tohle nahradí vždy jenom první výskyt... |
||
Anonymní Profil * |
#6 · Zasláno: 9. 12. 2006, 09:00:20
Zdravím,
Tak tohle asi bude nejrychlejší a nejelegantnější řešení ... děkuji za nápad. asi mi možnosti preg_match unikly :) To je přesně to, co jsem hledal, Milan |
||
Lazaros Profil * |
#7 · Zasláno: 10. 12. 2006, 14:38:55
Splodil jsem neco s tim cyklem, ale nevim jak moc to je pomaly
|
||
nightfish Profil |
#8 · Zasláno: 10. 12. 2006, 14:48:23
myslel jsem spíš něco ve stylu
$str = "neco [v hranatych] zavorkach [a dalsi] neco"; |
||
ServIT Profil |
#9 · Zasláno: 11. 12. 2006, 20:55:44 · Upravil/a: ServIT
Zdravíčko, ( no, registroval jsem se ...)
To poslední řešení se mi zdálo trochu podivné, ale lepší se asi napsat nedá ... dobrá práce, děkuji trochu jsem to upravil ... nebude to blbnout ?
diky za pomoc, doufám, že se budu revanšovat v oblastech, které znám lépe. Milan |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0