如何解决百度MIP不允许存在style属性及img标签

这是在百度MIP改造过程中主要会遇到的一个问题,由于百度MIP不允许标签中存在style属性且不支持img标签(需要更改为mip-img),但内容页中的数据往往存在于数据库中,如果强行替换可能会对数据造成损失,况且很多站长采用的方式是PC站和手机站公用数据库,对于MIP不能使用的style属性,在PC站中就可以使用了,所以会造成数据的相互影响。

如何解决百度MIP不允许存在style属性及img标签


1)在phpcms/libs/functions/extention.func.php文件中新增一个方法用来过滤style属性和替换img标签:

function content_mip($content)

{

/*正则过滤所有标签中style属性*/

$content = preg_replace('/ style="([^\"]*)"/isU',"",$content);

/*正则替换img标签为mip-img标签*/

$content = preg_replace('/]*src=[\'"]?([^>\'"\s]*)[\'"]?[^>]*>/ie', "''", $content);

}

2)在内容页模板调用文章内容处写下:

{content_mip($content)}

3)最后生成一下内容页,你就会惊奇的发现,文章中所有标签的style属性都消失了,并且img标签也替换成了mip-img标签。

打开APP阅读更多精彩内容