Du suchst ein Programm für einen bestimmten Zweck?
-
tsibi
- Beiträge: 269
- Registriert: 31.08.2004 20:16:35
- Wohnort: Oberfranken
-
Kontaktdaten:
Beitrag
von tsibi » 25.09.2006 10:11:58
Hallo zusammen,
ich möchte einen HTML-Code in mehreren PHP-Dateien ändern. Der Code enthält die Zeichen " und '. Daher maskiere ich die Anfürhungszeichen mit dem \.
Folgender Befehl funktioniert nicht:
Code: Alles auswählen
replace "<li><a href=\"/ueber-foo/kontakt.php?werben=1-kopf-4\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('Werbeflaeche5kopf4','','/images/werben-1-kopf-4_he.gif',1)\"><img src=\"/images/werben-1-kopf-4_gr.gif\" alt=\"Diese Werbefläche ist frei. Klicken Sie darauf und buchen Sie diese bei uns!\" name=\"Werbeflaeche5kopf4\" width=\"118\" height=\"50\" border=\"0\"></a></li>" "<li><a href=\"http://www.domain.de\" target=\"_blank\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('Werbeflaeche5kopf4','','/images/domain.gif',1)\"><img src=\"/images/domain.gif\" alt=\"domain.de, Lernen mal ganz einfach!\" name=\"Werbeflaeche5kopf4\" width=\"118\" height=\"50\" border=\"0\"></a></li>" -- *.php
Ich bekomme die Meldung:
Für eure Hilfe wäre ich sehr dankbar, da ich den Fehler nicht finden kann.
-
esteel
- Beiträge: 242
- Registriert: 23.07.2002 11:06:25
-
Kontaktdaten:
Beitrag
von esteel » 25.09.2006 10:20:59
Ohne es wirklich genau angeschaut zu haben ist ! auch ein besonderes Zeichen für die Shell das du escapen musst.
src=\"/images/domain.gif\" alt=\"domain.de, Lernen mal ganz einfach\!\"
-
tsibi
- Beiträge: 269
- Registriert: 31.08.2004 20:16:35
- Wohnort: Oberfranken
-
Kontaktdaten:
Beitrag
von tsibi » 25.09.2006 10:58:47
danke für deine Antwort.
wenn ich aber auch das ! maskiere, wird es später im HTML-Code als \! ausgegeben. Dabei soll ja nur das ! erscheinen.
-
blackstream
- Beiträge: 143
- Registriert: 04.12.2003 21:05:09
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Neuss
Beitrag
von blackstream » 25.09.2006 14:28:10
Hallo,
an Deiner Stelle würde ich die beiden Parameter für replace anstatt in doppelte (") in einfache (') Hochkommata setzen und innerhalb des Strings jeweils nur die einzelnen Hochkommata als \' maskieren. Dadurch wird nicht nur der Text lesbarer, sondern die Shell fuhrwerkt auch nicht mehr in den Dingern herum (zwischen doppelten Hochkommata könnte man ja z.B. noch Shellvariablen u.ä. unterbringen, wenn man wollte).
Grundsätzlich spricht natürlich einiges dafür, gleiche HTML-Blöcke aus ein und derselben Quelle zu lesen, anstatt sie per C&P in mehrere PHP-Dateien zu verteilen

-
tsibi
- Beiträge: 269
- Registriert: 31.08.2004 20:16:35
- Wohnort: Oberfranken
-
Kontaktdaten:
Beitrag
von tsibi » 25.09.2006 15:47:46
Hi,
danke für deine Idee mit dem Maskieren von '. Das hatte ich auch schon probiert und auch hier eine Fehlermeldung erhalten.
Code: Alles auswählen
replace \
'<li><a href="/ueber-foo/kontakt.php?werben=1-kopf-4" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'Werbeflaeche5kopf4\',\'\',\'/images/werben-1-kopf-4_he.gif\',1)"><img src="/images/werben-1-kopf-4_gr.gif" alt="Diese Werbefläche ist frei. Klicken Sie darauf und buchen Sie diese bei uns!" name="Werbeflaeche5kopf4" width="118" height="50" border="0"></a></li>' \
'<li><a href="http://www.domain.de" target="_blank" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'Werbeflaeche5kopf4\',\'\',\'/images/domain.gif\',1)"><img src="/images/domain.gif" alt="domain.de, Lernen mal ganz einfach!" name="Werbeflaeche5kopf4" width="118" height="50" border="0"></a></li>' -- *.php
Es erschien die Meldung:
Jetzt habe ich aber auf das Ausrufezeichen verzichtet und es erst mal so ersetzt.
Die PHP-Dateien werden ggf. einmal überarbeitet - aber im Moment muss es noch so gehn.