mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-10-19 18:05:02 +02:00
334 lines
13 KiB
HTML
334 lines
13 KiB
HTML
|
<html>
|
||
|
<head>
|
||
|
|
||
|
<title>PHP-Einfach.de - PHP Einführung - Suchen und ersetzen</title>
|
||
|
<meta name="Author" content="Andavos">
|
||
|
<meta name="Publisher" content="Andavos">
|
||
|
<meta name="Copyright" content="Andavos">
|
||
|
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
|
||
|
</head>
|
||
|
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
|
||
|
|
||
|
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td align="center" valign="middle" height="100%" width="100%">
|
||
|
|
||
|
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
|
||
|
<a name="oben"></a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
||
|
|
||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="5"></td>
|
||
|
<td class="black" height="100" width="150">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>»</b> Startseite</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>»</b> Newsübersicht</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>»</b> Kontakt</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>»</b> Impressum</a><br><br>
|
||
|
|
||
|
|
||
|
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
|
||
|
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>»</b> Forum</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>»</b> Gästebuch</a><br><br>
|
||
|
|
||
|
|
||
|
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
|
||
|
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>»</b> Einführung PHP</a><br>
|
||
|
|
||
|
|
||
|
<a class="blue" href="einf_php_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_anfang.php"><b>»</b> Anfang</a><br>
|
||
|
<a class="blue" href="einf_php_erste_schritte.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_erste_schritte.php"><b>»</b> Erste Schritte</a><br>
|
||
|
<a class="blue" href="einf_php_variablen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_variablen.php"><b>»</b> Variablen</a><br>
|
||
|
<a class="blue" href="einf_php_if-anweisung.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_if-anweisung.php"><b>»</b> if-Anweisung</a><br>
|
||
|
<a class="blue" href="einf_php_logische_operatoren.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_logische_operatoren.php"><b>»</b> Log. Operatoren</a><br>
|
||
|
<a class="blue" href="einf_php_uebung1.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_uebung1.php"><b>»</b> Übung</a><br>
|
||
|
<a class="blue" href="einf_php_dateien.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien.php"><b>»</b> Dateien</a><br>
|
||
|
<a class="blue" href="einf_php_schleifen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_schleifen.php"><b>»</b> Schleifen</a><br>
|
||
|
<a class="blue" href="einf_php_array.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_array.php"><b>»</b> Array</a><br>
|
||
|
<a class="blue" href="einf_php_dateien2.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien2.php"><b>»</b> Dateien Teil 2</a><br>
|
||
|
<a class="blue" href="einf_php_datum.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_datum.php"><b>»</b> Datum & Zeit</a><br>
|
||
|
<a class="blue" href="einf_php_email.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_email.php"><b>»</b> Mail Funktion</a><br>
|
||
|
<div style="position: relative; left:15;" >
|
||
|
<a class="blue"href="einf_php_suchen_ersetzen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_suchen_ersetzen.php"><b>»</b> Suchen & Ersetzen</a><br>
|
||
|
<a class="blue" href="einf_php_nuetz_funktionen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_nuetz_funktionen.php"><b>»</b> Nützliche Funktionen</a><br>
|
||
|
</div>
|
||
|
<a class="blue" href="einf_php_sessions.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_sessions.php"><b>»</b> Sessions</a><br><br>
|
||
|
|
||
|
|
||
|
|
||
|
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>»</b> Einführung MySQL</a><br>
|
||
|
|
||
|
<br>
|
||
|
<center>
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
|
||
|
|
||
|
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
|
||
|
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
|
||
|
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
|
||
|
|
||
|
</a>
|
||
|
</center>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
<td height="100" width="5"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
<td valign="top" bgcolor="#FFFFFF" width="430">
|
||
|
|
||
|
<table width="430" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="10"></td>
|
||
|
<td valign="top" class="black" height="100" width="410">
|
||
|
<br>
|
||
|
<h4>Suchen und ersetzen</h4>
|
||
|
|
||
|
Mit PHP kann man Texte auch durchsuchen lassen, und bestimmte Zeichen/Wörter durch einen anderen Text ersetzten lassen.<br><br>
|
||
|
|
||
|
Der einfachste Befehl dafür lautet: <b>str_replace(<i>"Suchen", "Ersetzen", $variable</i>)</b>.<br><br>
|
||
|
|
||
|
|
||
|
Ein Beispiel:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "Dies ist ein kleines Beispiel";
|
||
|
$text = str_replace("ist", "war", $text);
|
||
|
echo $text;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Mit <b>str_replace</b> ersetzen wir <i>ist</i> durch <i>war</i> in der Variable <b>$text</b> und speichern dies wieder in der Variable <b>$text</b>.<br><br>
|
||
|
|
||
|
Wichtig zu wissen ist, dass <b>str_replace</b> zwischen Groß- und Kleinschreibung unterscheidet. Manchmal möchte man aber ein Wort ersetzen lassen, egal ob es groß- bzw. klein geschrieben wurde.<br><br>
|
||
|
|
||
|
Dafür gibt es den Befehl <b>eregi_replace</b>.<br>
|
||
|
Dieser Befehl baut sich genauso auf, wie <b>str_replace</b>.<br><br>
|
||
|
|
||
|
Ein Beispiel:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "Dies IsT ein kleines Beispiel";
|
||
|
$text = eregi_replace("ist", "war", $text);
|
||
|
echo $text;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Hier wird <i>IsT</i> durch <i>war</i> ersetzt. Mit <b>str_replace</b> würde da immer noch <i>IsT</i> stehen.<br><br>
|
||
|
|
||
|
Aber was ist wenn man <b>eregi_replace</b> Sonderzeichen (z.B. eckige Klammer) ersetzen möchte?<br><br>
|
||
|
|
||
|
Ein Beispiel:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "Dies [Ist] ein kleines Beispiel";
|
||
|
$text = eregi_replace("[ist]", "war", $text);
|
||
|
echo $text;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Als Ausgabe erhalten wir einen komischen, nicht lesbaren Satz, weil eckigen Klammer in <b>eregi_replace</b> eine bestimmte Funktion hat.<br>
|
||
|
Dafür müssen wir die Klammer wieder mit Backslash maskieren.
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "Dies [Ist] ein kleines Beispiel";
|
||
|
$text = eregi_replace("\[ist\]", "war", $text);
|
||
|
echo $text;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Jetzt erhalten wir den richtigen Satz.<br><br>
|
||
|
|
||
|
<h3>\n zu <br></h3>
|
||
|
PHP wandelt alle Zeilenumbrüche von einem Text, z.B. aus einem Formular, in <b>\n</b> um. Wenn man diesen Text später wieder ausgibt, erhalten wir keine Zeilenumbrüche, weil HTML <br> dafür verwendet.<br>
|
||
|
Deswegen müssen wir mit PHP alle <b>\n</b> durch <b><br></b> ersetzen.<br><br>
|
||
|
|
||
|
Dies können wir mir <b>str_replace</b> machen.
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "Dies Ist ein
|
||
|
kleines Beispiel";
|
||
|
echo $text; //Vor dem ersetzen
|
||
|
echo "<br>";
|
||
|
$text = str_replace("\n", "<br>", $text);
|
||
|
echo $text; //Nach dem ersetzen
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Den selben Effekt würde auch dieses Beispiel erzielen:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "Dies Ist ein \n kleines Beispiel";
|
||
|
echo $text; //Vor dem ersetzen
|
||
|
echo "<br>";
|
||
|
$text = str_replace("\n", "<br>", $text);
|
||
|
echo $text; //Nach dem ersetzen
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
|
||
|
Man kann auch <b>nl2br($variable)</b> benutzen, dabei werden alle <b>\n</b> in <b><br /></b> umgewandelt.<br>
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "Dies Ist ein
|
||
|
kleines Beispiel";
|
||
|
$text = nl2br($text);
|
||
|
echo $text;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Das <b><br /></b> ist auch für XHTML kompatibel.<br><br>
|
||
|
|
||
|
|
||
|
<h3>Anführungszeichen</h3>
|
||
|
Wenn man in seinem Text Anführungszeichen benutzt, und diesen Text mit PHP dann in einer Datei speichert, werden automatisch alle Anführungszeichen mit einem Backslash (\) versehen.<br><br>
|
||
|
|
||
|
Wenn man diesen Text später aus der Datei ausliest, stellt man fest, das dort immer noch die Backslash sind. Deswegen kann man alle <b>\"</b> durch <b>"</b> ersetzen.<br><br>
|
||
|
|
||
|
Dies geht mit dem PHP-Befehl: <b>$variable = stripslashes($variable);</b><br><br>
|
||
|
|
||
|
Ein Beispiel:<br>
|
||
|
Erstellen Sie die Datei <b>test.txt</b> und schreiben Sie in diese Datei einen Text, in dem ein paar <b>\"</b> vorkommen. <br><br>
|
||
|
|
||
|
<b>Warum macht man dies?</b><br>
|
||
|
Ganz einfach, weil PHP Anführungszeichen maskiert, also wird aus <b>"</b> ein <b>\"</b>.<br><br>
|
||
|
|
||
|
Jetzt rufen wir mittels PHP die Datei auf.
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$lesen = implode("",file("test.txt"));
|
||
|
echo $lesen;
|
||
|
echo "<br>";
|
||
|
$lesen = stripslashes($lesen);
|
||
|
echo $lesen;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
<h3>Sonderzeichen und HTML-Tags</h3>
|
||
|
Wenn man den Besucher etwas in ein Formular eingeben lässt (z.B. bei Gästebüchern), so kann er auch z.B. HTML-Befehle dort eingeben. Wenn man diesen Text dann ausgibt, so werden die HTML-Befehle ausgeführt. Dies ist besonders schlimm, wenn er den Befehl für eine automatische Weiterleitung eingibt, denn immer wenn man diesen Text aufruft, wird man auf eine andere Seite weitergeleitet.<br><br>
|
||
|
|
||
|
Deswegen können wir alle Sonderzeichen und HTML-Tags in den dafür
|
||
|
vorgesehenen HTML-Code umwandeln.<br><br>
|
||
|
|
||
|
Dies bedeutet das aus < ein &lt; wird, aus Ö wird &Ouml;.<br><br>
|
||
|
|
||
|
Dafür gibt es den Befehl <b>htmlentities($variable);</b>.<br><br>
|
||
|
|
||
|
Ein Beispiel:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$text = "<a href=\"index.php\">Index</a>";
|
||
|
$text = htmlentities($text);
|
||
|
echo $text;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Als Ausgabe erhalten wir <i><a href="index.php">Index</a></i><br><br>
|
||
|
|
||
|
|
||
|
Natürlich sind wir nicht gezwungen einen Text zu überschreiben, wenn wir etwas ersetzten möchten, wir können für den neuen Text auch andere Variablen benutzen, aber meisten möchten man ja den ersetzten Text ausgeben, und so benutzen wir weniger Variablen Namen.<br><br>
|
||
|
|
||
|
Außerdem sollten wir einen Text erst dann ersetzen lassen, wenn wir ihn ausgeben und nicht wenn wir ihn speichern.<br><br>
|
||
|
|
||
|
|
||
|
In PHP gibt es viele <a href="einf_php_nuetz_funktionen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_nuetz_funktionen.php">nützliche Funktionen</a><br><br>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div align="center"><a href="#oben">Nach oben</a></div>
|
||
|
</td>
|
||
|
<td height="100" width="10"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
||
|
|
||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="5"></td>
|
||
|
<td valign="top" class="black2" height="100" width="150">
|
||
|
|
||
|
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
|
||
|
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
|
||
|
<br><br>
|
||
|
|
||
|
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
|
||
|
<br><br>
|
||
|
|
||
|
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
|
||
|
|
||
|
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
|
||
|
|
||
|
|
||
|
<br> <br>
|
||
|
<div align="center">© PHP-Einfach.de 2003 - 2007 </div>
|
||
|
</td>
|
||
|
<td height="100" width="5"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|