如何使用preg_replace删除html标记内的内容

时间:2012-02-15 01:26:26

标签: php preg-replace

在以下字符串中,我想删除span标记的class属性中的“class2”和“class3”

现在,我正在这样做:

$string = '<span class="class1 class2 class3">class1 class2 class3</span>';

$patterns = array();
$patterns[0] = '/class2/';
$patterns[1] = '/class3/';

$replacements = array();
$replacements[0] = '';
$replacements[1] = '';

$string = preg_replace($patterns, $replacements, $string);

echo htmlspecialchars($string);

返回:<span class="class1 ">class1 </span>

这不完全是我想要的。

我希望它返回:<span class="class1">class1 class2 class3</span>

我不知道我必须使用哪种模式才能在class属性中进行替换

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用

preg_replace('/class="class1[^"]*/', 'class="class1', $string);