Preg_replace kullanma

3 Cevap php

Nasıl bir satır boş sınıf pagenum pncolor tüm span etiketleri (ve içlerinde whatevers) yerini alacak. isim hepsi için farklıdır, bu yüzden ben preg_replace kullanmak istiyorum varsayıyorum çünkü str_replace işe yaramaz, ama ben bu işleri nasıl emin değilim.

<span class='pagenum pncolor'><a id='page_001' name='page_001'></a>001</span>
<p>Some text</p>

<span class='pagenum pncolor'><a id='page_130' name='page_130'></a>130</span>
<p>Some text</p>
<p>Some text</p>
<p>Some text</p>

<span class='pagenum pncolor'><a id='page_120' name='page_120'></a>120</span>
<p>Some text</p>

<span class='pagenum pncolor'><a id='page_100' name='page_100'></a>100</span>
<p>Some text</p>

3 Cevap

Bu regexpi kullanın: #<span class='pagenum pncolor'>.*?</span>#si

Ben söz gidiyorum zorunlu: You can't parse [X]HTML with regex. Because HTML can't be parsed by regex. Regex is not a tool that can be used to correctly parse HTML.

Ancak, ben de bu gibi durumlarda Regexes kullanarak suçlu değilim ... Ve ben bunu olsaydı, ben andreas cevabı @ kullanmak istiyorum.

Bu $ metin varsayarak = {THE_HTML_STRING_YOU_POSTED_IN_YOUR_QUESTION};

deneyebilirsiniz:

preg_replace("/<span class='pagenum pncolor'>(.*)<\/span>/",'',$text);