Heim >Backend-Entwicklung >PHP-Problem >Was tun, wenn Leerzeichen in PHP nicht entfernt werden können?
Lösung für PHP-Leerzeichen, die nicht entfernt werden können: 1. Verwenden Sie einen Hexadezimaleditor, um die Bytes anzuzeigen. 2. Fügen Sie den u-Parameter zu „regex-pattern“ hinzu. 3. Verwenden Sie „str_replace(' ', '', $fieldname )“. ;"-Methode zum Ersetzen von Leerzeichen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
php Was soll ich tun, wenn ich die Leerzeichen nicht entfernen kann?
Ich erhalte eine PHP-Zeichenfolge und muss Leerzeichen entfernen. Ich habe den folgenden Code verwendet, aber wenn ich $classname zurückgebe, wird nur die Zeichenfolge angezeigt, die noch Leerzeichen enthält.
$fieldname = the_sub_field('venue_title'); $classname = str_replace(' ', '', $fieldname); echo $classname;
Verwenden Sie einen Hex-Editor, um sich die Bytes anzusehen. Wenn die Leerzeichen im HEX-Format nicht 20 sind, handelt es sich nicht um „normale“ Leerzeichen. Sie können mit einer einfachen Funktion in PHP in HEX konvertieren.
Mögliches Duplikat des Entfernens von Leerzeichen innerhalb von Variablen in PHP
Versuchen Sie, den Parameter u zum Regex-Muster hinzuzufügen, da Zeichenfolgen UTF-8-Kodierung haben können:
$classname = preg_replace('/\s+/u', '', $fieldname);
Wow. Vielen Dank! helfen!
Das ist das Einzige, was bei mir funktioniert
Das Gleiche gilt hier. Zeichenfolgen werden aus WordPress-Metafeldern wiederhergestellt. Im Admin-Bereich gespeichert, nach dem „Kopieren und Einfügen“ von der alten Website, unter Verwendung einer anderen Codierung ...
Wenn Sie wissen, dass der Leerraum nur durch Leerzeichen verursacht wird, können Sie Folgendes verwenden:
$classname = str_replace(' ','',$fieldname );
Aber wenn es an Leerzeichen liegen könnte , können Sie Folgendes verwenden:
$classname = preg_replace('/\s+/','',$fieldname )
Versuchen Sie, s+ anstelle von h+ zu verwenden, um horizontale Leerzeichen zu erhalten. Dadurch bleiben bei Bedarf Zeilenumbrüche erhalten.
Das Problem kann sein, dass das Zeichen kein Leerzeichen, sondern ein anderes Leerzeichen ist. 🔜 Zeichenfolge. In Pauls Beispiel können sich Leerzeichen in der Zeichenfolge befinden.
Das Problem ist das Feld, das es zieht, nicht der Rest von PHP. „the_sub_field(‘venue_title‘)“ extrahiert das Feld aus dem WordPress-Plugin „Advanced Custom Fields“, aber diese Funktion wird verwendet, um die Daten anzuzeigen, anstatt sie nur abzurufen. Stattdessen verwende ich 'get_sub_field('venue_title')' und es funktioniert. Vielen Dank für diese Hilfe
Dies ist die richtige Antwort auf diese Bedrohung, sie muss gekennzeichnet werden
Es könnte sein, dass es sich bei dem Leerzeichen nicht wirklich um Leerzeichen handelt, sondern um eine andere Form von Leerzeichen.
Vielleicht möchten Sie es versuchen:
$classname = preg_replace('/\s/', '', $fieldname);
Von hier aus.
Versuchen Sie, horizontale Leerzeichen durch h+ zu ersetzen. Dadurch bleiben bei Bedarf Zeilenumbrüche erhalten.
TRIM($fieldname);
Das funktioniert perfekt.
Überprüfen Sie den Rückgabewert über diese Funktion: the_sub_field('venue_title');
Ich denke, das Problem ist, dass der String nicht als String behandelt wird. Es muss „auf beiden Seiten“ stehen. Wie würden Sie das in PHP machen? Zum Beispiel $fieldname="'".the_sub_field('venue_title')."'";
verwenden Sie "".the_sub_field('venue_title'). " Oder "+ the_sub_field('venue_title')+"
Empfohlenes Lernen: "
PHP-Video-Tutorial"
Das obige ist der detaillierte Inhalt vonWas tun, wenn Leerzeichen in PHP nicht entfernt werden können?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!