我在名为 $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
还有,喜欢 (?<=>)
. [^<>]*
否定字符类,匹配任何字符但不属于<
或 >
, 零次或多次。 (?=<)
, 肯定的先行断言断言匹配后必须跟<
性格。
$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/