REGEX-PHP仅获取字符串中的粗体部分
我是Regex的新手。我有一个类似于:
的字符串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);
那么我如何使它以相反的方式工作?
问候 艾哈迈尔
Html
如果要从推荐答案或XML文档中提取数据,请使用DOM
解析器而不是正则表达式。虽然正则表达式在简单的情况下也可以工作,但如果用例变得更加复杂或输入数据以意外的方式更改,就会变得很奇怪。DOM
解析器更稳定、更方便。
示例代码:
$doc = new DOMDocument();
$doc->loadHTML('Hello <b>ABCD</b> World');
foreach($doc->getElementsByTagName('b') as $element) {
echo $element->nodeValue;
}
相关文章