2016-03-19 23 views
1

Ich verwende den folgenden Code, um Leerräume in HTML zu entfernen. Ich möchte nur Leerstellen in Zwischentags entfernen. Aber unten Code alle weißen Flächen ersetztEntfernen Sie Leerzeichen zwischen Tags in HTML

I.E entfernen Sie alle weißen Zwischenräume „>“ und „<“

//read the entire string 
$str=file_get_contents('sample.txt'); 

//replace all white spaces 
$str=str_replace("\n", "",$str); 
$str=str_replace("\t", "",$str); 
$str=str_replace(" ", "",$str); 

//write the entire string 
file_put_contents('sample.txt', $str); 
+3

Sie verwenden könnten 'DomDocument' mit [' PreserveWhitespace = false'] (http://php.net/manual/en/class.domdocument.php#domdocument .props.preservewhitespace) Zusätzlich eine Frage [hier zu SO] (http://stackoverflow.com/questions/7997936/how-do-you-format-dom-structures-in-php). – Jan

+0

Sie könnten auch ordentlich verwenden –

+0

Da Sie nicht Ihren Zweck angeben - _why_ Sie die Leerzeichen entfernen möchten, und in welchem ​​Stadium - es ist schwer, etwas bestimmtes zu empfehlen ... obwohl [Regex ist kein guter Ansatz] (http: //stackoverflow.com/q/1732348/17300). Ich habe ordentlich/jTiey verwendet, wie Daniel erwähnt. –

Antwort

4

Sie benötigen einen regelmäßigen expresion verwenden.

Vielleicht können Sie diese verwenden:

$html = preg_replace('/(\>)\s*(\<)/m', '$1$2', $html); 
+0

Obwohl dieser Code in einer Notsituation funktionieren könnte, ist dieser Ansatz im Allgemeinen nicht sicher; siehe https://Stackoverflow.com/a/1732454/3159183 – SeldomNeedy

Verwandte Themen