Der Martin: trim

Beitrag lesen

Hi,

$bezeichnung=trim($fe[4], '"'); // Entfernt " am Anfang und Ende

nehmen wir mal an, dass am Ende gar kein Anführungszeichen steht, sondern ein Zeilenumbruch (\r\n), wo immer der auch herkommen mag. Dann wird dort auch nichts entfernt. Die spannende Frage ist also zunächst mal: Was steht zu Beginn *wirklich* in $fe[4]? Meine These ist (in PHP-Notation):

"\"N-Stück 10 m, 1/2\"\" mini\"\r\n"

Dann entfernt der Aufruf von trim() oben nur das Anführungszeichen am Anfang, denn am Ende des Strings ist ja keins.

$bezeichnung=str_replace('""', '"', $bezeichnung);

Das macht aus dem zweimal auftretenden Anführungszeichen in der Mitte nur noch eines.

$bezeichnung=trim(mysql_real_escape_string($bezeichnung));

Und das maskiert alle für die SQL-Schnittstelle problematischen Zeichen. Der erneute Aufruf von trim() ist hier wirkungslos, weil mysql_real_escape_string() den Zeilenumbruch \r\n am Ende bereits durch die Einzelzeichen Backslash, r, Backslash, n ersetzt hat.

So long,
 Martin

--
Das Leben ist lebensgefährlich und endet meistens tödlich.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(