我想制作一个所谓的文本清理器,以便我可以摆脱一些html元素而不使用strip_tags()
函数。php preg_replace不识别图案
我正则表达式是这样的:<em>|</em>|<p[^>]*>|</p[^>]*>|<span[^>]*>|</span[^>]*>|<div[^>]*>|</div[^>]*>| |<table[^>]*>(.*?)</table[^>]*>
我的代码如下所示:
$string = "some very messy string here ";
$pattern = '<em>|</em>|<p[^>]*>|</p[^>]*>|<span[^>]*>|</span[^>]*>|<div[^>]*>|</div[^>]*>| |<table[^>]*>(.*?)</table[^>]*>';
$replace = ' ';
$clean = preg_replace($pattern, $replace, $string);
echo $clean;
对于那些我无法理解的原因回声返回任何内容。
谢谢您的时间
更新#1
如果你问我是否想摆脱的表里面他们的所有内容,答案是肯定的。
这段代码的目标是什么 - 为什么你想避免使用strip_tags? – AD7six
Strip标签不会删除我想要做的表格的内容。 – Mike
你最好不要使用正则表达式来伪解析html。条形标签会剥离标签,并且如果您想要删除表格 - 将例程写入远程表格。你会得到奇怪的结果,例如:“