PHP schneidet Leerzeichen an den Rändern ab. Wie entferne ich Leerzeichen aus Zeichenfolgen in PHP? Beispiel für das Suchen und Ersetzen von Leerzeichen

Wenn Sie mit Text arbeiten, müssen Sie ihn häufig formatieren. Dies ist für eine korrekte Darstellung und gute Lesbarkeit notwendig. Dies ist erforderlich, wenn der Benutzer einige Informationen eingibt und Fehler macht: Anstelle eines Leerzeichens gibt er zwei Leerzeichen an und setzt am Anfang ein Tabulatorzeichen. Es gibt mehrere Möglichkeiten, Leerzeichen in PHP zu entfernen.

Trimmen()

Die Trim-Funktion sucht nach zusätzlichen Zeichen am Anfang oder Ende einer Zeichenfolge. Das:

  • regelmäßiger Raum;
  • Tabellierung;
  • Zeilenumbruchzeichen.

Es ist in dieser Form geschrieben:

String trimmen (string $str [, string $character_mask = "\t\n\r\0\x0B" ])

$str ist die Zeichenfolge, die verarbeitet wird, und $character_mask sind die zusätzlichen Zeichen. $character_mask ist ein optionales Attribut.

Preg_replace

Eine Funktion zum Suchen und Ersetzen von Zeichen mithilfe eines regulären Ausdrucks.

Gemischt preg_replace (gemischt $pattern , gemischt $replacement , gemischt $subject [, int $limit = -1 [, int &$count ]])

  1. $pattern – das Muster, nach dem Sie suchen.
  2. $replacement – ​​zu ersetzende Zeichen.
  3. $subject – das verarbeitete Objekt.
  4. $limit – Anzahl der vorgenommenen Ersetzungen.

$pattern und $replacement können Arrays sein. In diesem Fall erfolgt der Austausch gemäß den Indizes.

Str_replace()

Mit der Methode str_replace() können Sie in PHP Leerzeichen aus einem String entfernen. Es ersetzt alle Vorkommen der Suchzeichenfolge durch die Ersatzzeichenfolge.

Gemischt str_replace (gemischt $search, gemischt $replace, gemischt $subject [, int &$count])

Wird als vereinfachte preg_replace()-Methode verwendet.

  1. $search – der zu findende Wert.
  2. $replace – die zu ersetzende Zeichenfolge.
  3. $subject – das Objekt, in dem das Suchen und Ersetzen durchgeführt wird.
  4. $count legt die Anzahl der Ersetzungen fest.
$bodytag = str_replace("%body%", "black", " "); // weist zu: Hll Wrld f PHP $vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); // weist zu: Du solltest jeden Tag Pizza, Bier und Eis essen $phrase = "Du solltest Obst essen , Gemüse und Ballaststoffe jeden Tag newphrase = str_replace($healthy, $yummy, $phrase); // weist zu: 2 $str = str_replace("ll", "", "guter Gott, Miss Molly!", $count); echo $count; ?>

Beispiel für das Suchen und Ersetzen von Leerzeichen

Diese Funktionen gelten in den meisten Situationen, auch in komplexeren.

Beispielsweise hat der Benutzer einige Daten eingegeben, die später auf dem Bildschirm gedruckt werden. Um die Lesbarkeit und Wahrnehmung des gesamten Textes zu verbessern, müssen diese Informationen verarbeitet werden – wiederholte Leerzeichen entfernen, durch einzelne ersetzen.

$text1 = „Langer Text mit zusätzlichen Leerzeichen“;

In diesem Fall können Sie sehen, dass zwischen den Wörtern zwei und drei Leerzeichen stehen. Das Verfahren zum Entfernen von Leerzeichen in PHP ist wie folgt.

1. Zuerst müssen Sie einen String mithilfe einer Funktion in ein Array von Strings umwandeln.

Explode(“ ”, $text1)​

Als Trennzeichen wird ein einzelnes Leerzeichen verwendet. Auf diese Weise enthalten Körperteile, die keine separaten Elemente des Arrays sind, ein Leerzeichen weniger.

2. Das Ergebnis ist ein Array von Zeichenfolgen wie dieses:

$array = ["Lang", "voluminös", "Text", "mit", "extra Leerzeichen"]​

3. Jedes Element wird von einer Funktion verarbeitet:

Preg_replace("/\s+/", " ", $text1)​

Um nach einem oder mehreren Leerzeichen zu suchen, verwenden Sie den regulären Ausdruck /\s+/. Alle gefundenen Übereinstimmungen werden durch die Zeichenfolge „“ ersetzt. Die Suche erfolgt in der Variablen $text1.

4. Als Ergebnis erhalten wir eine Zeichenfolge mit der richtigen Anzahl an Leerzeichen, die vom Benutzer leicht wahrgenommen werden kann.

Guten Abend, vor kurzem haben wir uns ein wenig mit dem Thema Passwörter und deren sichere Speicherung beschäftigt, nämlich die Hashing-Funktion untersucht. Heute werden wir das Thema Passwörter und deren Speicherung ein wenig weiterführen und uns mit den Funktionen befassen, mit denen Sie dies tun können Entfernen Sie Leerzeichen am Anfang und Ende einer Zeichenfolge. Und hier sind die Passwörter und Leerzeichen aus einer Zeichenfolge entfernen, Du sagst es mir? Erstens bezieht sich diese Funktion natürlich nicht speziell auf Passwörter, sondern funktioniert nur mit Zeichenfolgen, und ich habe von Passwörtern nur als deren Anwendung gesprochen. Daher können Sie es je nach Situation überall und jederzeit verwenden.

Wofür ist das? Leerzeichen am Anfang und Ende der Zeile entfernen? Wenn Sie bei der Registrierung auf der Seite ein Passwort angeben und aus Versehen die Leertaste drücken und es nicht bemerken, besteht Ihr Passwort beispielsweise nicht aus vier, sondern aus fünf Zeichen, einschließlich Ihres Leerzeichens. Und Sie werden nicht verstehen, warum das Passwort nicht geeignet ist, da der Hash dieser Zeichenfolge unterschiedlich sein wird. Daher empfehle ich immer, Leerzeichen in einer Zeile zu kürzen, um solche Nuancen zu vermeiden. Nun betrachten wir ein Beispiel aus der Praxis.

$string_pass = " 1234 " ;
$password = md5(trim($string_pass ));
$password2 = md5($string_pass );
Echo $passwort;
Echo "
"
;
Echo $passwort2;
?>

Wir erstellen eine Variable, die unser Passwort sein wird, und geben am Anfang und am Ende der Zeile speziell ein Leerzeichen an. Als nächstes erstellen wir eine Variable, in der das gehashte Passwort bereits gespeichert wird, und leiten die Zeile weiter Trimmfunktion, wodurch zunächst alle unnötigen Leerzeichen entfernt werden und wir erst dann das gehashte Passwort erhalten. Und in der zweiten Variablen verwenden wir die Funktion nicht, um Leerzeichen zu entfernen und den String sofort zu hashen. Anschließend zeigen wir die beiden Ergebnisse auf dem Browserbildschirm an und stellen fest, dass sie völlig unterschiedlich sind, obwohl wir beide Male dieselbe Zeichenfolge verwendet haben. Aufgrund der Leerzeichen ist das Ergebnis jedoch völlig anders, sodass Sie bei dieser Angelegenheit äußerst vorsichtig sein müssen. Und noch etwas sollte ich Ihnen noch sagen. Es gibt zwei weitere Funktionen, die Leerzeichen am Anfang einer Zeile oder am Ende einer Zeile entfernen und aufgerufen werden ltrim Und rtrim jeweils. Wenn Sie also Leerzeichen von einer der Seiten entfernen müssen, verwenden Sie diese. Damit schließe ich diesen Artikel ab und wünsche Ihnen viel Erfolg bei all Ihrer Arbeit.

In jeder Sprache besteht eine typische Aufgabe bei der Arbeit mit Zeichenfolgen darin, Leerzeichen sowohl am Anfang als auch am Ende der Zeile zu entfernen. In PHP gibt es für diese Zwecke drei Funktionen: ltrim(), rtrim(), trim(). Die Funktion ltrim() entfernt Leerzeichen am Anfang einer Zeile, rtrim() – am Ende einer Zeile, trim() – sowohl am Anfang als auch am Ende. Interessant ist, dass diese Funktionen neben Leerzeichen auch die Zeilenumbruch-, Wagenrücklauf-, Tabulator- und Nullzeichen-Escape-Sequenzen entfernen.

$example = "\tHallo alle zusammen\n"; var_dump(trim($example)); var_dump(rtrim($example)); var_dump(ltrim($example));

Als Ergebnis erhalten wir:

String „Hallo alle zusammen“ (Länge=12) String „Hallo alle zusammen“ (Länge=14) String „Hallo alle zusammen“ (Länge=13)

Das Interessanteste ist, dass die oben genannten Funktionen auch benutzerdefinierte Zeichen entfernen können. Dazu müssen die oben genannten Funktionen als zweites Argument einen String übergeben, der die zu löschenden Zeichen enthält. Zum Beispiel:

$example = "YHallo alle zusammen\n"; var_dump(trim($example, " y")); var_dump(rtrim($example, " y\n")); var_dump(ltrim($example, " yH"));

Ergebend:

String „Hallo alle zusammen“ (Länge=13) String „yHi allerseits“ (Länge=13) String „Ich alle zusammen“ (Länge=12)