Seite 1 von 1

HTML unter PHP verarbeiten

Verfasst: So Mär 10, 2002 1:17 pm
von Wanderer
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 ?

HTML unter PHP verarbeiten

Verfasst: So Mär 10, 2002 2:50 pm
von XTale
?
entweder bin ich zu blöd oder deine erklärung zu kompliziert Bild

HTML unter PHP verarbeiten

Verfasst: So Mär 10, 2002 3:52 pm
von Katana
Wofür willste denn 'n """ übergeben ???

HTML unter PHP verarbeiten

Verfasst: So Mär 10, 2002 4:43 pm
von Wanderer
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);

HTML unter PHP verarbeiten

Verfasst: Mo Mär 11, 2002 12:01 am
von Katana
Wieso macht der aus "/" """ ???

HTML unter PHP verarbeiten

Verfasst: Mo Mär 11, 2002 6:51 pm
von Wanderer
Wenn ichs wüsste würde ich nicht fragen *g*

HTML unter PHP verarbeiten

Verfasst: Mo Mär 11, 2002 7:39 pm
von Stelios
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>

HTML unter PHP verarbeiten

Verfasst: Di Mär 12, 2002 12:35 am
von mrrxRZ
'rlink1' tuts auch

HTML unter PHP verarbeiten

Verfasst: Di Mär 12, 2002 9:40 am
von Madman
Das kommt daher, das in der PHP Installation, die du benutzt die Magic Quotas eingestellt sind.
(Wenn ich mich nicht ganz stark irre Bild )

Du kannst das umwandeln indem du

$rlink1 = str_replace("\","/",$rlink1);

machst.

HTML unter PHP verarbeiten

Verfasst: Di Mär 12, 2002 8:35 pm
von Wanderer
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 !