帖子内容中随处可见的div

时间:2012-08-22 作者:tekknolagi

每当有人在我们的网站上发帖时(http://palyvoice.com)自动有很多<div> 已创建元素。这对布局不利,因为我们有一种适用于div的样式,而我们不想将其应用于故事样式。

是否有办法删除自动插入div?如果没有,我可以添加一个函数挂钩来解析帖子并在保存到DB之前删除它们吗?

编辑:此处示例:http://palyvoice.com/2012/08/22/new-grade-reports-to-be-mailed-home-every-four-weeks-2/

2 个回复
最合适的回答,由SO网友:pbd 整理而成

你首先应该知道div来自哪里,因为这不是正常的行为。可以是来自插件,或者如Damien所说,复制粘贴Word中的文本。

要删除div,可以执行以下操作

str_replace(array(\'<div>\', \'</div>\'), \'\', $content)
在将文本存储到数据库之前(通过挂接save_post), 或在站点上显示之前(通过在the_content).

编辑:我错了,你不要上钩save_post, 但你却在过滤wp_insert_post_data. 以下功能应起作用:

function remove_divs($data) {
    $filteredContent = str_replace(array(\'<div>\', \'</div>\'), \'\', $data[\'post_content\']);
    $data[\'post_content\'] = $filteredContent;

    return $data;
}
add_filter(\'wp_insert_post_data\', \'remove_divs\', 99);
把这个放在你的函数中。php

SO网友:Damien

是使用word剪切n粘贴的人吗?这会增加很多可怕的额外元素。

在Wordpress的工具栏中,有一个用于直接从word插入的按钮。。这应该会有所帮助。

结束

相关推荐

POSTS_NAV_LINK()在index.php上不工作

我对posts_nav_link() 函数的索引。php。它可以工作,但不显示旧帖子。当有人点击“下一页”链接时,第一页上的相同帖子正在加载。这是我正在使用的代码:<?php if ( is_home ()) {$myquery = new wp_query(\'cat=-41\');}?> <?php global $wp_query; $temp_wp_query = $wp_query; $wp_query = null;&