0

我正在尝试过滤 html 代码

该代码包含一个带有行类的 div

我想用那里的内容替换这些 div

例如:

<div class="row anotherClass">some html code 1</div>
<div class="row anotherClass">some html code 2</div>
<div class="row anotherClass">some html code 3</div>

输出应该是这样的

some html code 1
some html code 2
some html code 3

我写了以下表达式(我对正则表达式不是很好)但是输出html仍然没有很好地过滤有时div开头仍然存在有时div结尾仍然存在

$output = preg_replace_callback('/<div class="row (.*?)">(.*)<\/div>/s', function ($matches) {
            return $matches[2];

        }, $output);
4

1 回答 1

1

你是这个意思吗?

<?php

$html = '<div class="row anotherClass">some html code 1</div>
<div class="row anotherClass">some html code 2</div>
<div class="row anotherClass">some html code 3</div>';

$reg = '(<div class="row anotherClass">(.*?)</div>)';
preg_match_all($reg, $html, $divs);

$div_contents = $divs[1];
$divs = $divs[0];

$replaced_html = $html;

for ($i=0; $i < count($divs); $i++) {
    $replaced_html = str_replace($divs[$i], $div_contents[$i], $replaced_html);
}

echo $replaced_html;

?>
于 2013-02-17T07:24:55.850 回答