Preg_match_all ile çok satırlı html kodu bir etiket seçin

0 Cevap php

Ben başka biri ile değiştirin için html kod parçası bulmak için php işlevi preg_match_all kullanmak istiyorum.

Bu benim bulmak için gerekenler:

<attachfiles>
tag{link} attr{rel="stylesheet" type="text/css" media="screen"} 
sources{
file1.css,
file2.css
}
</attachfiles>

Ben bu kod tüm html içine bir kez mevcut olması ama eğer onu bulmak normal bir ifade yaptı.

Benim düzenli ifadedir:

"|\<attachfiles\>(.*)\<\/attachfiles\>|s"

Ben tekrarlanan iki veya daha fazla kez bulmak için kod olduğunda sorun çıkıyor. S operatörü (çok satırlı), ben kodu o kadar çok ilk gelen tüm html kodunu döndürür birden çok zaman var değişir son | normal ifade kullanır yana

Örneğin:

<attachfiles>
tag{link} attr{rel="stylesheet" type="text/css" media="screen"} 
sources{
file1.css,
file2.css
}
</attachfiles>

... html code ...
... html code ...

<attachfiles>
tag{script} attr{type="text/css" language="javascript"} 
sources{
file1.js,
file2.js
}
</attachfiles>

Bu durumda benim normal ifade ilk gelen, TÜM kodunu döndürüyor

<attachfiles> to the last </attachfiles> 

de dahil olmak üzere

... html code ... 
... html code ... 

ben arıyorum kod arasındadır.

0 Cevap