WordPress编辑器切换自动转义实体符号

WordPress编辑器切换自动转义实体符号,第1张

概述相信不少使用WordPress撰文的站长是直接使用HTML编辑器的,清枫就是如此,因为可视化格式的东西太多,有时候无法忍受,总之,各有利弊。缙哥哥在使用HTML编辑器编辑时遇到的最大的问题就是高亮代码里的<和>总是会因为没有转义而使得文章排版错乱,今天在网上浏览各种教程的时候看到了自动转义的方法,遂分享给大家。

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。内存溢出小编现在分享给大家,也给大家做个参考。

相信不少使用 wordpress 撰文的站长是直接使用 HTML 编辑器的,清枫就是如此,因为可视化格式的东西太多,有时候无法忍受,总之,各有利弊。缙哥哥在使用 HTML 编辑器编辑时遇到的最大的问题就是高亮代码里的<和>总是会因为没有转义而使得文章排版错乱,今天在网上浏览各种教程的时候看到了自动转义的方法,遂分享给大家。

转换至实体的符号:<、>、&

支持的标签:<pre><code>,用到的函数:HTMLspecialchars()此函数把一些预定义的字符转换为 HTML 实体。将以下代码扔到 functions.PHP,记得把 6、7、8 行的空格去掉。

function escapeCE($arr) {

if (version_compare(PHP_VERSION,‘5.2.3’) >= 0) { //所需PHP版本

$output = HTMLspecialchars($arr[2],ENT_NOQUOTES,get_bloginfo(‘charset’),false);

} else {

$needTo = array( //定义需要转换的标签

‘&’ => ‘&’,

‘<‘ => ‘<‘,

‘>’ => ‘>’

);

$data = HTMLspecialchars_decode($arr[2]);

$output = strtr($data,$needTo);

}

if (! empty($output)) { //如果有实体符号则进行替换

return $arr[1] . $output . $arr[3];

} else {

return $arr[1] . $arr[2] . $arr[3];

}

}

function replaceCE($data) { //匹配需要转换实体的标签

$replaceTag = preg_replace_callback(‘@(<pre.*>)(.*)(

 

)@isU’,‘escapeCE’,$data);

$replaceTag = preg_replace_callback(‘@(<code.*>)(.*)()@isU’,$replaceTag);

return $replaceTag;

}

add_filter( ‘content_save_pre’,‘replaceCE’,9 ); //通过wordpress的add_filter来挂钩

add_filter( ‘excerpt_save_pre’,9 ); //支持摘要格式

当然,我们已经将这串代码已经放到主题里了,麻麻再也不用担心我码错代码了!


PS 一句:如果代码中含有<pre>或者<code>标签,还是需要手动转义,切记,切记!

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的WordPress编辑器切换自动转义实体符号全部内容,希望文章能够帮你解决WordPress编辑器切换自动转义实体符号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1012011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存