Heim >Backend-Entwicklung >PHP-Problem >Was tun, wenn PHP Trim nicht funktioniert?
Lösung für PHP-Trim, das nicht funktioniert: Zuerst akzeptiert Trim die Parameter in umgekehrter Reihenfolge; dann wird die Zeichenfolge zum Maskieren von Zeichen am Anfang und Ende der Zeichenfolge festgelegt. Verwenden Sie schließlich die Funktion str_replace mit einer leeren Ersetzungszeichenfolge.
Empfehlung: „PHP-Video-Tutorial“
Spezifische Frage:
Warum funktioniert meine PHP-Trim()-Funktion nicht?
Ich versuche, durch Trimmen Unterstreichungszeichen aus den an das $u-Post-Array zurückgegebenen Daten zu entfernen. Ich habe versucht,
$post_Value= str_replace("_", " ", $key)
zu verwenden, aber der Text scheint nicht als Zeichenfolge zurückgegeben zu werden. Zwischen jedem Eingang gibt es eine Pause. Dann habe ich das Trimmen so versucht:
<?php $connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME); // Test if connection succeeded if (mysqli_connect_errno()) { die("Database connection failed: " . mysqli_connect_error() . " (" . mysqli_connect_errno() . ")"); } if (isset($_POST)) { $str = ""; foreach($_POST as $key => $value) { $str = $str . $key . ","; } $post_Value = trim("_", $str); } $query = "UPDATE player_match SET categoryOption='$$post_Value' WHERE id=1"; ?>
Wenn ich die Trim-Funktion verwende, passiert nichts, die _-Zeichen werden nicht entfernt. Mein ultimatives Ziel ist es, die durch Kommas getrennte Liste als einzelne Zeichenfolge in die Datenbank einzufügen. Warum funktioniert meine trim()-Funktion in diesem Fall nicht?
Update: 076402276aae5dbec7f672f8f4e5cc81 in der Ansichtsseitenressource gefunden, daher musste ich eine Kombination aus Folgendem ausführen:
$post_Value= str_replace("<br_/>", "", $str); $post_Value2= str_replace("_", " ", $post_Value); $post_Value3= rtrim($post_Value2,",submit,"); echo $post_Value3; $query="UPDATE player_match SET categoryOption='$post_Value3' WHERE id=1";
Lösung:
Zuerst akzeptiert trim() Argumente in umgekehrter Reihenfolge: $str, dann $character_mask. Sie sollten also Folgendes verwenden: $post_Value = trim($str, "_");
Zweitens legt trim() nur die Zeichenfolge zum Maskieren von Zeichen am Anfang und Ende der Zeichenfolge fest. Wenn die Zeichenfolge von nicht geschützten Zeichen umgeben ist, werden keine Maskierungszeichen aus der Zeichenfolge entfernt.
Eigentlich sollten Sie str_replace() mit einer leeren Ersetzungszeichenfolge verwenden (Sie haben versucht, ein einzelnes Leerzeichen als Ersatz zu verwenden):
$post_Value= str_replace("_", "", $key)
Wenn Sie auch das 0c6dc11e160d3b678d68754cc175188a-Tag entfernen möchten, können Sie dies tun Tun Sie dies mit einem einzelnen str_replace()-Aufruf wie folgt:
$post_Value= str_replace(array("_", "<br>", "<br/>", "<br />"), "", $key)
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP Trim nicht funktioniert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!