我正在尝试过滤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);
答案 0 :(得分:0)
你是说这个吗?
<?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;
?>