Wie kann ich Streifen / entfernen todo Räume eines String in PHP?
Tengo un String wie $string = "this is my string";
Die Ausgabe sollte sein "thisismystring"
Wie kann ich das tun?
Wie kann ich Streifen / entfernen todo Räume eines String in PHP?
Tengo un String wie $string = "this is my string";
Die Ausgabe sollte sein "thisismystring"
Wie kann ich das tun?
Meinen Sie nur Leerzeichen oder alle Leerzeichen?
Für bloße Leerzeichen, verwenden Sie str_replace :
$string = str_replace(' ', '', $string);
Für alle Leerzeichen (einschließlich Tabulatoren und Zeilenenden), verwenden Sie preg_replace :
$string = preg_replace('/\s+/', '', $string);
(Aus aquí ).
1. Sie brauchen nicht die +
. $string = preg_replace('/\s/', '', $string);
sollte gut funktionieren. Das Einzige, was bei mir nicht funktioniert, sind nicht umgebrochene Leerzeichen. Ich musste dies verwenden: $string = preg_replace('~\x{00a0}~','',$string);
um sie zu entfernen. Danke an diese Stackoverflow-Antwort: stackoverflow.com/a/12838189/631764
Frage eines Neulings aus Interesse: Was ist der Unterschied zwischen space
y whitespace
? Ist es nicht das Gleiche?
@EchtEinfachTV Leerzeichen ist das reguläre Leerzeichen zwischen Wörtern, Leerzeichen ist jede Art von Leerzeichen im Text: reguläres Leerzeichen, Zeilenumbruch, Tabulator, etc.
Wenn Sie alle Leerzeichen entfernen möchten:
$str = preg_replace('/\s+/', '', $str);
Siehe das 5. Beispiel auf die preg_replace-Dokumentation . (Anmerkung: Ich habe das ursprünglich hierher kopiert.)
Edit: Kommentatoren wiesen darauf hin, und das ist richtig, dass str_replace
ist besser als preg_replace
wenn Sie wirklich nur das Leerzeichen entfernen wollen. Der Grund für die Verwendung von preg_replace
wäre es, alle Leerzeichen (einschließlich Tabulatoren usw.) zu entfernen.
"Wenn Sie keine ausgefallenen Ersetzungsregeln (wie reguläre Ausdrücke) benötigen, sollten Sie immer diese Funktion verwenden [ str_replace
] anstelle von ereg_replace()
または preg_replace()
."
Ich würde nicht vorschlagen, reguläre Ausdrücke für die einfache Entfernung von Leerzeichen zu verwenden. str_replace für nur Leerzeichen, preg_replace für alle Whitespace.
@Johannes & MasterPeter: Einverstanden, aber der OP hat einen Kommentar zu einer anderen Antwort hinterlassen, dass er den weißen Raum entfernen möchte.
str_replace wird den Trick folgendermaßen ausführen
$new_str = str_replace(' ', '', $old_str);
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Siehe auch: stackoverflow.com/questions/1279774/
2 Stimmen
Technisch gesehen ist dies eine etwas andere Frage als die Frage nach dem Duplikat. Manchmal möchten Sie vielleicht Leerzeichen ohne Tabulatoren einfügen.
1 Stimmen
Hier ist der kürzeste Weg, dies zu tun, für den Fall, dass Sie jemals bei Code Golf gewinnen müssen:
strtr($string,[' '=>'']);
1 Stimmen
Um nur den Anfang und das Ende zu entfernen, verwenden Sie die
trim
Funktionen: php.net/trim