html中怎么删除所有p标签,如何删除使用wpautop函数后多出的</p>HTML标签

导语:叶子开发一个主题代码的时候,发现文章中总是会在某个特定的代码后面加上

。在浏览器中显示出来的时候,就会平白无故多出一行,导致对出现排版问题问题。

wpautop函数导致现在的问题

当我们在主题的single.php使用the_content()函数输出文章内容的时候,这个函数会在输入文章内容的时候调用wpautop函数,wpautop功能将文章内容中的换行符转换成html标签


这样转换出来的文章内容,会更加符合搜索引擎的规范。

如果你不希望文章内容在输出的时候使用wpautop函数,那么你可以使用以下的方法:

在single.php中使用get_the_content()输出文章内容:echo get_the_content();

在functions.php中使用remove_filter( ‘the_content’, ‘wpautop’ );

问题的表现

叶子把出现问题的代码贴上来,wpautop函数导致叶子写的主题代码输出的时候,在网页源代码后面出现一个

,这个在浏览器中会自动补全为

alt_img

上面的源代码是可以通过浏览器的查看源代码的菜单打开,这样你就能看到当前网页的源代码。

叶子期望的代码为:

alt_img

注意:

代码是为让内容中的图片延时加载后,又能够让图片被搜索引擎抓取到而设置的,实现代码如下:

add_filter('the_content', 'lazyload');

function lazyload($content)

{

//默认图片

$loadimg_url = '//placehold.it/300x150&text=wordpressleaf' );

if (!is_feed() || !is_robots) {

$content = preg_replace('//i', "%5C%22%24loadimg_url%5C%22%5C%243

\$0", $content);

}

return $content;

}

这段代码放在functions.php中就能实现突破的延时加载,当然,你还需要在前端使用jQuery来延时加载。

解决问题

要解决叶子遇到的在后面多出一个

的问题,其实很简单,就是在single.php中使用get_the_content()来输出内容,然后使用str_replace替换掉,下面是具体实现代码。

/*the_content();*/

echo str_replace('

','',get_the_content());

上面的代码,先屏蔽掉the_content()函数,或者直接删除the_content()。然后直接用echo get_the_content()来输出文章内容。

在使用上面的代码后,叶子的主题也就得到了想要的结果:

alt_img

结束

你学会了吗?可以在下面留言来与叶子讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值