Autor Zpráva
biginner
Profil *
Zdravim vsechny,
chtel bych se dobrat v PHP necemu takovemu. Mam v promenne $neco, html kod. A v tomto kodu bych chtel nahradit u vsech tagu img hodnotu parametru src jinou hodnotou. Prosim poradte.
djlj
Profil
http://cz.php.net/preg_replace
biginner
Profil *
dospel jsme tedy k regularnimu vyrazu src="[/w]*[.]{1}[a-zA-Z]{3}" ktery representuje adresu ale co ted s tim .... jde mi to to ze potrebuji nahradit v src="/neco/neco_jineho/jeste_neco/obr.jp" timto src="obr.jpg" proste zbavit se cesty a nechet tam jen nazev souboru obrazku. :) Funkce mi porad vraci nejake hlaseni "Delimiter must not be alphanumeric or backslash" chybu mam pravdepodobne v druhem parametru nevim co tam dat :(
YoSarin
Profil
já bych zkusil tohle:
preg_replace("/src=\"[^\"]*\"/", "src=\"obr.jpg\"", $neco);

Snad by to tak mělo fungovat. :-)

EDIT
žere mi to zpětný lomítka :-(
biginner
Profil *
Ne jde o to ze ja potrebuji z src="/neco/neco_jineho/jeste_neco/obr.jpg" odstranit /neco/neco_jineho/jeste_neco/ a to obr tam nechat obecne se v $neco muze vyskytnout nekolik img tagu a nemuzu tam jako druhy parametr tedy dat "src="obr.jpg"" :( Nevim jestli je to srozumitelne ale snad ano ;)
YoSarin
Profil
Tak třeba
preg_replace("/src=\"[^\"]*(\/[a-zA-Z_\-]*\.[a-zA-Z]{3,4})\"/", "src=\"$1\"", $neco);
Fakt netuším jestli to bude fungovat, ale nějak na tomhle principu by to mohlo jít.
biginner
Profil *
Aho to je ono to jsem potreboval jeste to ma malo vadu na krase a to ze vystupem "src="$1"" je src="/obr.jpg" potreboval bych to bez toho lomitka. Jinak v teto souvislosti mohl bych poprosit o kratke vysvetleni toho druheho argumentu te funkce ? dekuji za pomoc
YoSarin
Profil
V tom případě:
preg_replace("/src=\"[^\"]*\/([a-zA-Z_\-]*\.[a-zA-Z]{3,4})\"/", "src=\"$1\"", $neco);

Druhý argument té funkce říká čím mám ten nalezený řetězec nahradit - $1 zastupuje posloupnost v hledaném řetězci, která se nachází mezi prvními uzavřenými závorkami - ().
No, já jsem na vysvětlování takovejchhle věcí kádr. :-)
biginner
Profil *
A jo takze takove zpetna reference :) uz tomu rozumim :) diky. super fici to dobre
Toto téma je uzamčeno. Odpověď nelze zaslat.

0