2017-05-18 2 views
0

Ich habe ein Problem mit einer Funktion in PHP Ich möchte alle "\ n" in einem freien Speicherplatz konvertieren, habe ich mit diesem versucht, aber es funktioniert nichtConvert n in einem freien Raum

function clean($text) { 
    if ($text === null) return null; 
    if (strstr($text, "\xa7") || strstr($text, "&")) { 
     $text = preg_replace("/(?i)(\x{00a7}|&)[0-9A-FK-OR]/u", "", $text); 
    } 
    $text = htmlspecialchars($text, ENT_QUOTES, "UTF-8"); 
    if (strstr($text, "\n")) { 
     $text = preg_replace("\n", "", $text); 
    } 
    return $text; 
} 

Dies ist wat i enter image description here

Die Website entfernen möchten: click here

+0

Enthält '$ text' HTML? – Optimae

+0

Ich weiß nicht, wo ich es sehen kann? weil dies eine Seite für eine Sperrliste ist, also habe ich das nicht erstellt. Aber wahrscheinlich nicht – Lafa

+0

fügen Sie einige Beispiele hinzu. –

Antwort

1

Wenn Sie buchstäblich in Ihren Text „\ n“ haben, was der Fall von der Screenshots zu sein scheint, dann gehen Sie wie folgt vor:

$text = str_replace("\\n", '', $text);

\n ist ein Sonderzeichen in PHP, die neu erstellt Linien, so müssen wir das Escape-Zeichen \ davor hinzufügen, um Text Instanzen von "\ n" zu entfernen.

+0

Es funktioniert nicht, :(Ich gebe die Website, so dass Sie sehen können. – Lafa

+0

Oder wenn sie in einfachen Anführungszeichen sind, werden sie nicht als Sonderzeichen ausgewertet, und Sie müssen nicht entkommen. Live-Beispiel: https://3v4l.org/O96XD und manuell: http://php.net/manual/en/language.types.string.php#language.types.string.syntax.single – Qirel

0

preg_replace() scheint besser auf diese Weise zu arbeiten:

$text = preg_replace('/\n/',"",$text); 

Einfache Anführungszeichen erzwingen keine Ersetzung, wenn Sie Ihr Muster an den Parser senden.

+0

Danke für die Antwort, aber es funktioniert nicht, ich weiß nicht, warum ich das auch versucht habe. – Lafa

+0

Können Sie uns sagen, welche Fehlermeldungen Sie erhalten (falls vorhanden)? Wie überprüfen Sie, ob es funktioniert? Versuchen Sie irgendwo "echo $ text" zu sagen, wenn Sie es nicht schon sind, damit Sie sehen können, ob die Ausgabe Ihren Erwartungen entspricht. – Optimae

+0

wo stelle ich das hin? – Lafa

Verwandte Themen