usertest
usertest

Reputation: 27628

Using preg_replace

How would I replace all span tags (and whatevers inside them) that have the class pagenum pncolor with an empty line. str_replace wouldn't work because the name is different for all of them, so I assume I'd use preg_replace, but I'm sure how that works.

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

Upvotes: 1

Views: 195

Answers (3)

Josh
Josh

Reputation: 11070

I'm going to mention the obligatory: 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.

However, I'm guilty of using regexes in situations like this also... And if I were to do so, I'd use @andreas's answer.

Upvotes: 1

Andreas
Andreas

Reputation: 5335

assuming that $text = {THE_HTML_STRING_YOU_POSTED_IN_YOUR_QUESTION};

you can try:

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

Upvotes: 0

Crozin
Crozin

Reputation: 44376

Use this regexp: #<span class='pagenum pncolor'>.*?</span>#si

Upvotes: 2

Related Questions