如何解决在HTML标记之间提取文字并计数
| 可以这么说,我写了一篇带有很多标签(例如[code]this is a code[/code]
)的文章,我会知道文章中有多少个code
标签以及里面的文字是什么。
我尝试了preg_matches
和preg_replaces
,但到目前为止没有任何效果。合适的方法是什么?
解决方法
$pattern = \'/\\[code\\](.*?)\\[\\/code\\]/s\';
preg_match_all($pattern,$code,$matches);
echo count($matches).\"\\n\";
var_dump($matches);
,这对您应该很有趣:
/\\[code\\]([^]]+)\\[\\/code\\]/
您需要使用match_all来获取所有值。
顺便说一句,这样的代码一定存在一些缺陷:
[code]blabla [code]bleh bleh[/code][/code]
由于正则表达式无法解析多个深度级别。至少当深度未知时。
编辑
/\\[code\\](.*)\\[\\/code\\]/
也可能有用,但不会卡住内部块。第一个只匹配内部的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。