[英]How to extract the text between anchor tag in PHP?
我在名为$message
的变量中有一个字符串,如下所示:
$message = 'posted an event in <a href="http://52.1.47.143/group/186/">TEST PRA</a>';
我只想在这种情况下使用PHP在锚标记(即TEST PRA)中获取文本。
我应该如何有效地做到这一点? 有人可以在这方面帮助我吗?
提前致谢。
使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.