我是正则表达式的新手。我有一个像这样的字符串:
Hello <b>ABCD</b> World
or
<b>ABCD</b>Hello World
我基本上想保留粗体标签内的文本,但删除字符串中的所有其他字符。
我找到了删除字符串中粗体部分的代码:
$string = 'This is <b>an</b> example <b>text</b>';
echo preg_replace('/(<b>.+?)+(<\/b>)/i', '', $string);
那么我该如何让它以相反的方式工作呢?
问候
艾哈迈尔
Use a DOM
如果您想从 HTML 或 XML 文档中提取数据,请使用解析器而不是正则表达式。虽然正则表达式也适用于简单的情况,但如果用例变得更加复杂或输入数据以意外的方式发生变化,它可能会变得很奇怪。 ADOM
为此目的,解析器更加稳定和方便。
示例代码:
$doc = new DOMDocument();
$doc->loadHTML('Hello <b>ABCD</b> World');
foreach($doc->getElementsByTagName('b') as $element) {
echo $element->nodeValue;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)