HTML unter PHP verarbeiten

Hardware, Software, Webdesign & Coding.

Moderator: Katana

Antworten
Wanderer
Beiträge: 293
Registriert: Do Dez 21, 2000 1:01 am

HTML unter PHP verarbeiten

Beitrag 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 ?
Benutzeravatar
XTale
Zweiter Admin im Bunde
Beiträge: 4736
Registriert: Fr Mai 12, 2000 12:01 am

HTML unter PHP verarbeiten

Beitrag von XTale »

?
entweder bin ich zu blöd oder deine erklärung zu kompliziert Bild
Benutzeravatar
Katana
Beiträge: 5337
Registriert: So Jan 02, 2000 1:01 am

HTML unter PHP verarbeiten

Beitrag von Katana »

Wofür willste denn 'n """ übergeben ???
Wanderer
Beiträge: 293
Registriert: Do Dez 21, 2000 1:01 am

HTML unter PHP verarbeiten

Beitrag 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);
Benutzeravatar
Katana
Beiträge: 5337
Registriert: So Jan 02, 2000 1:01 am

HTML unter PHP verarbeiten

Beitrag von Katana »

Wieso macht der aus "/" """ ???
Wanderer
Beiträge: 293
Registriert: Do Dez 21, 2000 1:01 am

HTML unter PHP verarbeiten

Beitrag von Wanderer »

Wenn ichs wüsste würde ich nicht fragen *g*
Stelios
Beiträge: 32
Registriert: Di Jan 29, 2002 1:01 am

HTML unter PHP verarbeiten

Beitrag 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>
Benutzeravatar
mrrxRZ
Beiträge: 734
Registriert: Di Apr 10, 2001 12:01 am

HTML unter PHP verarbeiten

Beitrag von mrrxRZ »

'rlink1' tuts auch
Madman
Beiträge: 163
Registriert: Di Feb 12, 2002 1:01 am

HTML unter PHP verarbeiten

Beitrag 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.
Wanderer
Beiträge: 293
Registriert: Do Dez 21, 2000 1:01 am

HTML unter PHP verarbeiten

Beitrag 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 !
Antworten