HTML unter PHP verarbeiten
Moderator: Katana
HTML unter PHP verarbeiten
Moin !
Ich fange gerade erst mit php an - und finde auf ein Problem leider noch keine Antwort:
ich übergebe per Formular (per get) Daten an mein Script, das klappt soweit. Ist jedoch ein "/" drin (z.B. bei Links im Text) ersetzt PHP das mit "\" .
Ich habe es schon mal mit addslashes und htmlentities versucht - aber das führt auch nicht zum genünschten Ergebnis.
Mit welchem Kommando kann php den Inhalt meiner Variablen in diesem Fall denn escapen ?
Ich fange gerade erst mit php an - und finde auf ein Problem leider noch keine Antwort:
ich übergebe per Formular (per get) Daten an mein Script, das klappt soweit. Ist jedoch ein "/" drin (z.B. bei Links im Text) ersetzt PHP das mit "\" .
Ich habe es schon mal mit addslashes und htmlentities versucht - aber das führt auch nicht zum genünschten Ergebnis.
Mit welchem Kommando kann php den Inhalt meiner Variablen in diesem Fall denn escapen ?
HTML unter PHP verarbeiten
?
entweder bin ich zu blöd oder deine erklärung zu kompliziert
entweder bin ich zu blöd oder deine erklärung zu kompliziert
HTML unter PHP verarbeiten
Wofür willste denn 'n """ übergeben ???
HTML unter PHP verarbeiten
Eigentlich gaaaanz einfach, hier also ein konkretes Beispiel:
In meiner Form, die ich an das Script schicke habe ich ein Feld:
<input checked name="rlink1">
In diese soll man Links eintragen können, etwa
http://www.retrozone.de/test/
Im Script steht dann jedoch in der Variablen:
http:\\www.retrozone.de\test\ - obwohl ich noch nichts am Inhalt geändert habe. Also direkt am Anfang:
echo($rlink1);
In meiner Form, die ich an das Script schicke habe ich ein Feld:
<input checked name="rlink1">
In diese soll man Links eintragen können, etwa
http://www.retrozone.de/test/
Im Script steht dann jedoch in der Variablen:
http:\\www.retrozone.de\test\ - obwohl ich noch nichts am Inhalt geändert habe. Also direkt am Anfang:
echo($rlink1);
HTML unter PHP verarbeiten
Wieso macht der aus "/" """ ???
HTML unter PHP verarbeiten
Wenn ichs wüsste würde ich nicht fragen *g*
HTML unter PHP verarbeiten
Zitat deutsches PHP Manual:
<blockquote><font size="1" face="Verdana, Arial">Zitat:</font><hr>
Doppelte Anführungszeichen (Double quoted)
Wenn ein String in doppelten Anführungszeichen (") eingeschlossen ist, versteht PHP mehr Escape-Folgen für spezielle Zeichen:
Tabelle 6-1. Nicht ausgewertete / übergangene Zeichen:
Zeichenfolge Bedeutung
nZeilenvorschub (LF oder 0x0A als ASCII-Code)
Wagenrücklauf (CR oder 0x0D als ASCII-Code)
horizontaler Tabulator (HT oder 0x09 als ASCII-Code
\ Backslash / Rückstrich
$ Dollar-Symbol
"" doppelte Anführungszeichen
[0-7]{1,3} die Zeichenfolge, die dem regulären Ausdruck entspricht ist ein Zeichen in Oktal-Schreibweise
x[0-9A-Fa-f]{1,2} die Zeichenfolge, die dem regulären Ausdruck entspricht ist ein Zeichen in Hexadezimal-Schreibweise
<hr></blockquote>
das "retrozone.de\test" im string ist also eigentlich "retrozone.de/test"
probiers mal mit ' statt " im form, dann sollte es klappen.
[ 12. März 2002: Beitrag editiert von: Stelios ]</p>
<blockquote><font size="1" face="Verdana, Arial">Zitat:</font><hr>
Doppelte Anführungszeichen (Double quoted)
Wenn ein String in doppelten Anführungszeichen (") eingeschlossen ist, versteht PHP mehr Escape-Folgen für spezielle Zeichen:
Tabelle 6-1. Nicht ausgewertete / übergangene Zeichen:
Zeichenfolge Bedeutung
nZeilenvorschub (LF oder 0x0A als ASCII-Code)
Wagenrücklauf (CR oder 0x0D als ASCII-Code)
horizontaler Tabulator (HT oder 0x09 als ASCII-Code
\ Backslash / Rückstrich
$ Dollar-Symbol
"" doppelte Anführungszeichen
[0-7]{1,3} die Zeichenfolge, die dem regulären Ausdruck entspricht ist ein Zeichen in Oktal-Schreibweise
x[0-9A-Fa-f]{1,2} die Zeichenfolge, die dem regulären Ausdruck entspricht ist ein Zeichen in Hexadezimal-Schreibweise
<hr></blockquote>
das "retrozone.de\test" im string ist also eigentlich "retrozone.de/test"
probiers mal mit ' statt " im form, dann sollte es klappen.
[ 12. März 2002: Beitrag editiert von: Stelios ]</p>
HTML unter PHP verarbeiten
'rlink1' tuts auch
HTML unter PHP verarbeiten
Das kommt daher, das in der PHP Installation, die du benutzt die Magic Quotas eingestellt sind.
(Wenn ich mich nicht ganz stark irre
)
Du kannst das umwandeln indem du
$rlink1 = str_replace("\","/",$rlink1);
machst.
(Wenn ich mich nicht ganz stark irre
Du kannst das umwandeln indem du
$rlink1 = str_replace("\","/",$rlink1);
machst.
HTML unter PHP verarbeiten
Zwar scheinen auch die Magic Quotes es auch nicht zu sein (die Betreffen nur den Backslash) - aber der Tip war gut:
$rlink1 = str_replace("\","/",$rlink1);
$rlink1 = str_replace("//","/",$rlink1);
Dann funktionierts. Warum auch immer. Sehrrrr seltsam ;>
Thx an alle !
$rlink1 = str_replace("\","/",$rlink1);
$rlink1 = str_replace("//","/",$rlink1);
Dann funktionierts. Warum auch immer. Sehrrrr seltsam ;>
Thx an alle !


