【发布时间】:2016-05-16 07:23:20
【问题描述】:
我使用一个函数来获取字符串的前“x”个单词。主要部分是:
preg_match_all('/(<\/?([\w+]+)[^>]*>)?([^<>]*)/', $text, $tags, PREG_SET_ORDER);
当一个单词在 html 中时 - 示例:
<a href="/"><u>Linktext</u></a>
正则表达式将单词“linktext”视为一个单词。正则表达式应更改为 skip html 标记内的每个单词。
这可能吗?
【问题讨论】:
-
那么你想要html标签之外的所有文本吗?
-
@user2057781 试试这个
(?<!\>)\b(<\/?([\w+]+)[^>]*>)?([^<>]*)\b(?!\<) -
请提供更多输入字符串。
-
请在您的问题中提供更好/更多的输入样本以及您想要达到的目标。
-
很遗憾,您提到的这个问题已被删除。您应该在此处的问题中提供完整的解释。
标签: php regex preg-match-all