REGEX-PHP仅获取字符串中的粗体部分

2022-03-22 00:00:00 string regex php preg-replace

我是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;
}

相关文章