2

好的,我可能不会以正确的方式进行此操作,但是这里有..

我有这个字符串,它需要一个链接并提取标签之间的文本......

$string = $item;
$pattern = '/\<a([^>]*)\>([^<]*)\<\/a\>/i';
$replacement = '$2';
$message = preg_replace($pattern, $replacement, $string);

此字符串中有一些项目包含与号(在文本部分,而不是标签部分),但大多数都没有。我正在尝试找出一种方法将 & 符号合并到当前模式中,或者$message在标签被剥离后在 上执行另一个 preg_replace 以删除 & 符号。

谢谢!

4

2 回答 2

7

总有$message = str_replace('&', '', $message);

顺便说一句,如果您试图从 html 输入中去除标签,还有strip_tags

例如,如果您的输入是

$text = '<a href="google.com">Text</a>';

然后strip_tags($text)就会产生Text

于 2012-09-05T19:24:45.617 回答
2

是否要删除 & 符号后的所有内容?然后就是

'/\<a([^>]*)\>([^<&]*)[^<]*\<\/a\>/i';

否则,您将需要进行第二次手术。

顺便说一句:您的正则表达式还将匹配以 开头的其他标签<a,例如<author><audio>标签。

于 2012-09-05T19:25:17.293 回答