2016-03-19 43 views
1

html cinsinden beyaz boşlukları kaldırmak için aşağıdaki kodu kullanıyorum. Sadece betweens etiketlerindeki beyaz alanları kaldırmak istiyorum. Kod tüm beyaz boşluk yerini aşağıda FakatHTML boşluklarındaki etiketler arasındaki beyaz boşlukları giderin

yani ">" ve aradaki tüm beyaz boşlukları kaldırın "<"

//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

Sen http://php.net/manual/en/class.domdocument.php#domdocument ([ 'preserveWhiteSpace = FALSE] ile' DomDocument' kullanabilirsiniz .props.preservewhitespace) Ayrıca bir soru [burada SO] (http://stackoverflow.com/questions/7997936/how-do-you-format-dom-structures-in-php). – Jan

+0

aynı zamanda düzenli –

+0

kullanabilirsiniz Amacınızı belirtmediğinizden - _why_ boşluğu kaldırmak istediğiniz ve hangi aşamada - belirli bir şeyi tavsiye etmek zordur ... ama [regex iyi bir yaklaşım değildir] (http: //stackoverflow.com/q/1732348/17300). Daniel'in bahsettiği gibi düzenli/jTiey kullandım. –

cevap

4

Bir normal ifadeyi kullanmak gerekir.

Belki bu kullanabilirsiniz:

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

Bu kod bir çimdik içinde çalışsa da, bu yaklaşım genellikle güvenli değildir; https://stackoverflow.com/a/1732454/3159183 adresine bakın. – SeldomNeedy