php - 如何在 PHP 中提取 anchor 标记之间的文本?

标签 php html string html-parsing anchor

我在名为 $message 的变量中有一个字符串,如下所示:

$message = 'posted an event in <a href="http://52.1.47.143/group/186/">TEST PRA</a>';

我只想获取 anchor 标记内的文本,即 TEST PRA 在这种情况下使用 PHP。

我应该如何高效地执行此操作?有人可以在这方面帮助我吗?

提前致谢。

最佳答案

使用 preg_match_all函数以进行全局匹配。

preg_match_all('~>\K[^<>]*(?=<)~', $str, $match);

在这里preg_match就足够了。 \K在最后打印时丢弃先前匹配的字符,因此它不会考虑先前匹配的 >特点。您可以使用积极的回顾而不是 \K还有,喜欢 (?<=>) . [^<>]*否定字符类,匹配任何字符但不属于<> , 零次或多次。 (?=<) , 肯定的先行断言断言匹配后必须跟<性格。

DEMO

$str = 'posted an event in <a href="http://52.1.47.143/group/186/">TEST PRA</a>';
preg_match('~>\K[^<>]*(?=<)~', $str, $match);
print_r($match[0]);

输出:

TEST PRA

关于php - 如何在 PHP 中提取 anchor 标记之间的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29048706/

相关文章:

php - MySql 和 PHP 时间重叠

php - 输入类型 "file"在 iPad 上不起作用

php - 为什么这个 zend 示例在我向表单添加散列时停止工作

html - 使用 rem-value 中的字体计算行高

c - 为什么要为该数组中的第一个元素打印垃圾?

php - 如何在微软AZURE服务器(PaaS)中安装msodbcsql

html - 如何向 css 类 .background-color-blue 添加更多特异性,以便它覆盖默认 div 的背景颜色

javascript - 如何在 HTML canvas 元素之外绘制?

c - 字符串比较逻辑错误

jquery - 使用 jQuery 在 td 字段中的电话号码中插入连字符