7. März 200224 j Ich möchte gerne auf einer Seite mit einem regulären Ausdruck im HTML Quelltext Veränderungen vornehmen. Es sollen Bild Tags veränder werden. Aus <img src="images/logo.gif"> soll <img src="http://www.disconow.de/images/logo.gif"> werden. Dazu habe ich schon folgenden Ausdruck geschrieben: function changeIMAGES($tmp) { $tmp = preg_replace("=<[[:space:]]*img[[:space:]]*src\=\"*=isU","<img src=\"http://www.disconow.de/",$tmp); return $tmp;} [/php] Funktioniert einwandfrei. Wissen möchte ich aber jetzt, wie ich im Ausdruck überprüfen kann, ob schon ein http:// drinne steht, damit nicht sowas wie http://www.disconow.de/http://www.disconow.de/images/logo.gif aus dem Tag wird. Das gleiche Problem taucht dann auch noch auf, wenn die Bilder mit relativem Pfad (../../images.logo.gif) angegeben sind. Dank im Voraus für die Hilfe.
7. März 200224 j Nachtrag: das = nach src ist natürlich auch escaped, wenn ich den Beitrag bearbeite wird das auch angezeigt, komischer Weise aber nicht in der normalen Ansicht. Admins: Liegt das am Board?
15. März 200224 j Ach ja, das $tmp = preg_replace( "=(<img)(.*)(src\=\")(?!http)(.*)(\".*>)=siU","\\1\\2\\3$url\\4\\5", $tmp); $tmp = preg_replace("=(<img)(.*)(src\=)(?!\")(?!http)(.*)(.*>)=siU","\\1\\2\\3$url\\4\\5",$tmp); [/php] wäre übrigens Ihr Preis gewesen. Da es keiner wußte musste ich mich wohl selber damit beschäftigen. Wenigstens was dazugelernt
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.