So entfernen Sie Whitespaces vor und hinter einer Zeichenkette Wenn Formulareingaben mit PHP verarbeitet werden, sollten diese auch stets geprüft und ggf. mit einer entsprechenden Routine korrigiert werden. Eine häufige Fehlerquelle sind unnötige Leerzeichen am Ende oder am Anfang einer Zeichenkette, die der Benutzer eingegeben hat. Eine einfache Korrektur-Funktion, die derartige Leerzeichen entfernt, ist daher immer sinnvoll. Php leerzeichen entfernen web. Natürlich könnte man solch einen Algorithmus selbst programmieren oder man greift auf die hauseigenen Funktionen von PHP zurück. Leerzeichen einer Zeichenkette am Anfang entfernen Sämtliche Whitespaces eines Strings werden am Anfang mittels ltrim() beseitigt. ltrim($str); Leerzeichen eines Strings am Ende entfernen Möchte man hingegen, dass nur die Leerzeichen am Ende einer Zeichenkette abgeschnitten werden, benötigt man die PHP-Funktion rtrim(). rtrim($str); Leerzeichen am Anfang und Ende entfernen Die einfachste Variante, Formulareingaben zu säubern, ist das Entfernen aller Whitespace-Zeichen vor und nach einer Zeichenkette.
php $str = 'foo o'; $str = preg_replace('/\s\s+/', ' ', $str); // Das ist jetzt 'foo o' echo $str;? > #5 geil funktioniert Aber ich hasse diese Preg und ereg funktionen ich verstehe die irgendwie immer nicht. Kann mir ma einer erklären was mir "/\s\s+/" sacht ich weiß das \s nen leerzeichen ist richtig? #7 ah danke und was haben die slahes zu bedeuten? #9 /HIER STEHT DAS SUCHMUSTER / Das bedeuten die slashes. PHP: Beliebige Zeichen am Anfang und Ende eines Strings entfernen. \s steht wohl für ein leerzeichen und \s+ für beliebig viele? #10 - die / grenzen den regulären Ausdruck ab - \s steht für ein Leerzeichen, es wird also nach einem Leerzeichen gesucht - hinter einem gefundenen Leerzeichen muss jetzt noch mindestens ein weiteres stehen, das wird mit Hilfe des + (1 oder mehr) ausgedrückt - die Standardsuche bei RegEx nennt man gierig, dh wenn man eine Lücke von 6 Leerzeichen hat, dann wird der Ausdruck, obwohl er auch auf die ersten zwei Leerzeichen passen würde, immer auf die kompletten 6 Leerzeichen angewendet
Hier unten sehen wir, wie es funktioniert und wie es ausgegeben wird: php $mainstr = "@@PHP@Programming!!!. "; echo "Text before remove:\n". $mainstr; echo "\n\nText after remove: \n". trim($mainstr, '@!. ');? > @@PHP@Programming!!!. PHP@Programming Diese Funktion hat auch zwei Varianten. ltrim() rtrim() Die Funktion ltrim() Es werden nur die ersten Zeichen Ihrer Zeichenkette entfernt. Php leerzeichen entfernen die. php $str = "geeks"; $str = ltrim($str, 'g'); echo $str;? > Ausgabe: eeks Die rtrim() Funktion Es ist dasselbe wie die obige Funktion, kann jedoch die letzten Zeichen Ihrer Zeichenkette entfernen. php $string = "DelftStack is a best platform..... "; echo "Output: ". rtrim($string, ". ");? > Ausgabe: Output: DelftStack is a best platform Verwenden Sie die Funktionen htmlspecialchars() und str_ireplace(), um Sonderzeichen in PHP zu entfernen Die htmlspecialchars() und str_ireplace() werden verwendet, um den Effekt vordefinierter Zeichen aus den Daten zu entfernen. Es konvertiert alle vordefinierten Elemente von HTML in Sonderzeichen, wie es < in <, & konvertiert, dann wird es in & konvertiert.
7111ms preg_replace 123. 3189ms str_replace is 23. 20% faster 4096 chars str_replace 227. 7029ms preg_replace 258. 3771ms str_replace is 11. 87% faster 8192 chars str_replace 506. 3410ms preg_replace 555. 6269ms str_replace is 8. 87% faster 16384 chars str_replace 1116. 8811ms preg_replace 1098. Php RegEx Leere Zeilen entfernen. 0589ms preg_replace is 1. 69% faster 32768 chars str_replace 2299. 3128ms preg_replace 2222. 8632ms preg_replace is 3. 32% faster Die Zeiten sind selbst für 10000 Iterationen, was aber noch interessanter ist der relative Unterschied. Bis zu 512 Zeichen, ich wollte nur sehen, preg_replace immer gewinnen. In der 1-8kb-Bereich, str_replace hatte einen marginalen Rand. Ich dachte, es war interessant, das Ergebnis, so wie es hier ist. Das wichtigste ist, nicht zu nehmen Sie dieses Ergebnis und es verwenden, um zu entscheiden, welche Methode zu verwenden, aber zum benchmark gegen Ihre eigenen Daten und dann entscheiden. Informationsquelle Autor der Antwort Paul Dixon
Lesezeit: 6 Minuten Steinherz Ich muss Leerzeilen (mit Leerzeichen oder absolut leer) in PHP entfernen. Ich verwende diesen regulären Ausdruck, aber er funktioniert nicht: $str = ereg_replace('^[ \t]*$\r? \n', '', $str); $str = preg_replace('^[ \t]*$\r?
php // Alle Leerzeichen entfernen function leerzeichen_entfernen ( $string) { return preg_replace ( "/\s+/", "", $string);} echo leerzeichen_entfernen ( "10 684 178");? > Ausgabe: 10684178 Text enthält zu viele Zeilenumbrüche! PHP: Erstes und letztes Zeichen von einem String abschneiden. // Text enthält zu viele Zeilenumbrüche! $whiteSpace = ''; if ( $_POST [ "text"]! = preg_replace ( '/\r\n\r\n\r\n+/', ' ', $_POST [ "text"])) { $whiteSpace = '
Enthält zu viele Zeilenumbrüche!
';}? > Siehe auch: Mehrere Zeilenumbrüche durch einen ersetzen Bausteine Alle Anzeigen Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.