我正在使用WordPress编辑器TinyMCE。我有这样的事情:
<div class="TA_excellent" id="TA_excellent150"><ul>...</ul></div>
<script type="text/javascript" src="http://www.jscache.com/wejs?wtype=excellent&uniq=150&locationId=287500&lang=en_AU">
</script>
当我跳过可视化编辑器时,“脚本”标签将从内容中删除。所以我尝试了各种插件,包括Ultimate TinyMCE,但这次“脚本”标签被“p”标签包裹。
所以输出是这样的:
...</ul></div>
<p>
<script type="text/javascript" src="http://www.jscache.com/wejs?wtype=excellent&uniq=150&locationId=287500&lang=en_AU">
</script>
<script src="http://www.tripadvisor.com.au/WidgetEmbed-excellent?uniq=150&locationId=287500&lang=en_AU"></script
</p>
我还尝试过名为“Advanced TinyMCE Settings”的插件,它允许我更改默认的TinyMCE配置。我在TinyMCE设置下的配置是这样的:
extended_valid_elements: script[type|src],a[*]
我花了几个小时在它上面就行不通了。我无法摆脱这个“p”标签。他们会继续自动发布。
以下是Ultimate TinyMCE的截图:
答案 0 :(得分:1)
删除不需要的p和br标签(空)可以通过向主题functions.php添加简单的过滤功能来完成 以下是您需要添加的代码。
function remove_additional_p($content){
$content = forec_balance_tags($content);
return preg_replace('#<p>\s*+(<br\s*/*>)?|s*</p>#i','',$content);
}
add_filter('the_content','remove_additional_p',20,1);
答案 1 :(得分:1)
使用此代码在编辑器初始化之前删除 <p></p>
。
function tinymce_remove_root_block_tag( $init ) {
$init['forced_root_block'] = false;
return $init;
}
add_filter( 'tiny_mce_before_init', 'tinymce_remove_root_block_tag' );
答案 2 :(得分:-1)
可以在没有代码的情况下完成。
转到Settings
&gt; TINYMCE Advanced
并检查
保存时停止移除<p>
和<br />
代码并在HTML编辑器中显示
将脚本放入文本区域是不好的做法,您可以通过以下方式删除<p>
标记:
$text=str_ireplace('<p>','',$post->post_conent);
$text=str_ireplace('</p>','',$post->post_conent);