PHP für dich











Derzeit online: 35
Edel im Material & Design - Standascher von cibins.eu! Für Sie & Ihn - Dessous, Wäsche und Bademode. Wir haben die Schiffsreisen für jeden Geschmack!
Werbung
Spenden via PayPal

Ersetze \" doch bitte ...

... mit ".

Wie bereits erwähnt werden in PHP Anführungszeichen durch Backslash Anführungszeichen geschrieben und auch ein Zeilenumbruch wird durch ein solches Sonderzeichen "maskiert". Das wirkt sich jedoch nicht nur auf das Programmieren aus, bei dem man darauf achten muss, sondern auch dann, wen zB Text aus einer Textarea (oder auch aus einer Datei oder Datenbank) übernommen wird.

  PHP setzt viele "Sonderzeichen" ein,
  da gewisse Zeichen in PHP
  eine spezielle Bedeutung haben.
Wird dieser Text in PHP auf irgendeine Art übergeben, schaut er eigentlich so aus (keine Zeilenumbrüche bei \n - die wurden nur wegen der Übersichtlichkeit hinzugefügt):
  PHP setzt viele \"Sonderzeichen\" ein,
  \n
  da gewisse Zeichen in PHP
  \n
  eine spezielle Bedeutung haben.
Zum einen wollen wir aber nicht diese komischen \n in unserem Text haben, dann hätten wir gerne statt der \n richtige Zeilenumbrüche, die auch in HTML sichtbar sind (also <br>) und zum Schluß wollen wir auch noch statt "spezielle" "besondere" schreiben.

Fangen wir mal beim letzten Punkt an. Es gibt in PHP verschiedene Möglichkeiten, Text zu ersetzen. Meine bevorzugte Variante ist ereg_replace.
  ereg_replace(Suche,Ersetze,betroffene Variable)
Machen wir mal ein Beispiel dazu und speichern den oben angeführten Text in eine Variable namens text und ersetzen dann die \" durch einfache Anführungszeichen bevor wir den Text ausgeben..
  <?php
  $text = "PHP setzt viele \"Sonderzeichen\" ein,
           da gewisse Zeichen in PHP
           eine spezielle Bedeutung haben.";
  $text = ereg_replace("spezielle","besondere",$text);
  ?>
Wir überschreiben die Variable text mit dem neuen Text, der dadurch entsteht, dass PHP innerhalb der Variable text (als letztes in der Klammer festgelegt) nach "spezielle" sucht und dieses durch "besondere" ersetzt. Der Such- und Ersetztext muss in Anführungszeichen geschrieben werden.

Würden wir jetzt mit echo den Text ausgeben würde dort stehen PHP setzt viele \"Sonderzeichen\" ein, da gewisse Zeichen in PHP eine besondere Bedeutung haben..

Damit ist zwar ein Wunsch von uns erfüllt, aber die \" stören noch immer und außerdem werden unsere Zeilenumbrüche nicht angezeigt.

Für beide Probleme gibt es in PHP eine fertige Funktion.

Um die Zeilenumbrüche hinein zu bekommen verwenden wir die Funktion nl2br. Dabei wird wiederum die Variable text überschrieben. Die Funktion lautet nl2br und in Klammer wird die Variable angegeben, bei der die \n durch <br> ersetzt werden sollen.
  <?php
  $text = nl2br($text);
  ?>
Jetzt sieht unser Text so aus:

PHP setzt viele \"Sonderzeichen\" ein,
da gewisse Zeichen in PHP
eine besondere Bedeutung haben.


Es ist wichtig, dass nl2br vor dem nächsten Befehl verwendet wird - sonst funktioniert er nämlich nicht mehr, da wir im nächsten Schritt alle Backslashes entfernen.

Und auch hierfür gibt es bereits eine fertige Funktion. Diese nennt sich stripslashes und funktioniert genauso wie nl2br. Die alte Variable wird durch den neuen Text überschrieben, der dadurch entsteht, dass die Funktion stripslashes auf die Variable text (in Klammer angeführt) angewendet wird.
  <?php
  $text = stripslashes($text);
  ?>
Und jetzt schaut unser Text endlich so aus, wie wir ihn haben wollten:

PHP setzt viele "Sonderzeichen" ein,
da gewisse Zeichen in PHP
eine besondere Bedeutung haben.


Der gesamte Code sieht nun so aus:
  <?php
  $text = "PHP setzt viele \"Sonderzeichen\" ein,
           da gewisse Zeichen in PHP
           eine spezielle Bedeutung haben.";
  $text = ereg_replace("spezielle","besondere",$text);
  $text = nl2br($text);
  $text = stripslashes($text);
  echo $text;
  ?>
Und jetzt schauen wir uns endlich an, was Datum und Uhrzeit können ...
Allgemein

.: Startseite
.: Danke, Claudia
.: About me

.: Bücher
.: Download
.: Links
.: FAQ

.: Druck PHP
.: Druck MySQL

.: Impressum
.: Datenschutz

PHP

.: Anfang
.: Text ausgeben
.: Variablen
.: Var. übergeben
.: Math. Operatoren
.: Vgl. Operatoren
.: If-Anweisung
.: Log. Operatoren
.: Dateien
.: Suchen/Ersetzen
.: Datum & Uhrzeit
.: Arrays (+ foreach)
.: Tage & Monate
.: while-Schleife
.: for-Schleife
.: eMail-Versand
.: Includes
.: Zufall

MySQLTM

.: Anfang
.: DB und Tabellen
.: Tabellen füllen
.: Verb. herstellen
.: Einfache Abfrage
.: Weitere Abfrage
.: Daten ausgeben
.: Daten hinzufügen
.: Daten löschen
.: Daten ändern
.: Verb. beenden


© 2001 - 2008 Claudia Unkelbach Nach oben