Ich versuche, etwas wie Desinfektion Artikel Funktion zu erstellen. Ich meine eine Funktion, die Inhalt von Artikeln reinigt oder normalisiert, die in HTML-Blog-Sites angezeigt werden.bleiben Leerzeichen und Newline-Zeichen während der Artikel-Bereinigung
Es muss alle Leerräume außer \n
und entfernt werden. Also Newline und Platz.
Ich begann eine Idee, Zeilenumbrüche und Leerzeichen von addcslashes PHP-Funktion zu kodieren. Entfernen Sie dann alle Leerzeichen. Dann benutze stripslashes. Dann ersetzen Sie mehrere \x20
Vorkommen durch einzelne. Es wäre also etwas wie Newline Chars und Leerzeichen temporären Winterschlaf für Regex-Betrieb.
Aber ich war nicht erfolgreich, weil die Ausgabe kein Zeilenumbruch char hat, das in der Eingabe existiert.
Online Version https://ideone.com/I4oZCJ
Mein Code, der nicht funktioniert:
<?php
$text = 'first line
second line';
$text = addcslashes($text, "\x20\t");
$text = preg_replace('/\s+/', ' ', $text);
$text = stripslashes($text);
$text = preg_replace('/\s+/', ' ', $text);
var_dump($text);
Wie es zu bekommen?
Danke
benutzte ich diese Muster. Der CR-Leerraum, ich meine '\ r ', wurde durch den Raum ersetzt. Es hätte entfernt werden sollen. Sie können es online sehen: https://ideone.com/ebP1Q4 – trzczy
@trzczy Aufruf 'str_replace (" \ r ", '', $ Text)' zuerst dann entfernen Sie die Zeichen, die Sie so schnell und einfach entfernen möchten wie möglich –
Aber "\ r" ist nicht der einzige vertikale Leerzeichen, den "\ h" ignoriert. Der Filter sollte "jedes \ s außer Raum und \ n" sein. Die Untersuchung soll einen Artikel unsichtbar machen, damit sichtbare Zeichen gezählt werden können. – trzczy