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

发布于 2025-01-05 09:14:34 字数 638 浏览 0 评论 0原文

在下面的字符串中,我想删除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);

这将返回:class1

这不完全是我想要的。

我希望它返回: class1 class2 class3

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

感谢您的帮助!

In the following string, I would like to delete "class2" and "class3" in the class attribute of the span tag

Right now, I'm doing this:

$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);

This returns:<span class="class1 ">class1 </span>

This not exactly what I want.

I would like it to return: <span class="class1">class1 class2 class3</span>

I don't know what kind of pattern I have to to use to make the replacements only inside the class attribute

Thanks for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

二货你真萌 2025-01-12 09:14:34

您可以使用

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

You can use

preg_replace('/class="class1[^"]*/', 'class="class1', $string);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文