2011-01-14 4 views
1

Ich möchte ein Zeichen am Ende jeder Dateierweiterung in einem Textkörper mit preg_replace() hinzufügen.Wie man Rückverweise in PHP verwendet

Hier einige Beispieltext ist:

$string='http://www.mysite.com/expert/images/imageone.jpghttp://www.mysite.com/expert/images/imagetwo.jpg'; 

Diese Suche & funktioniert gut in TextWrangler ersetzen, ein Semikolon anhängen Dateierweiterungen:

(\.(jpg|gif|html?|php|tiff?|pdf|png)) 


\1; 

zu PHP Übersetzt jedoch nicht funktioniert, keine Wirkung haben; keine Fehler.

preg_replace("/(\.(jpg|gif|html|php|tif|tiff|pdf|htm|png))/","\\1;",$string); 

Antwort

3

Es perfekt funktioniert für mich, aber Sie sollten mit $1 versuchen:

$string = preg_replace("/.../","$1;",$string); 

oder setzen Sie den Ersatz in Apostrophe:

$string = preg_replace("/.../",'\\1;',$string); 
+0

weder gearbeitet ... seltsam – Slinky

+0

@Slinky : Dann muss der Fehler irgendwo anders sein. Stellen Sie sicher, dass Sie 'error_reporting (E_ALL)' haben. Sie müssen den Wert auch $ $ string zuweisen, falls Sie dies nicht tun. –

+0

Ja, ich habe das Ergebnis nicht einer Variablen zugewiesen. Vielen Dank – Slinky

Verwandte Themen