解决wordpress高亮插件总是对尖括号进行转义
看到一网友问:
请问高亮插件总是对尖括号进行转义,结果变得面目全非,这个怎么解决,搜了一堆也没搜到可行的。
想起自己曾经也遇到过这个问题,可能我表达的不好,所以搜索不到。
wordpress pre标签内的html代码被转义解决办法
想在wordpress 的文章内容中插入代码,一般都是放在<pre></pre>中。
例如php中的<?,不特别处理的情况下浏览器会把<当作html标签的开始,所以在页面上会看不到<。
我们可以在wordpress输出前对尖括号代码进行转义,这样pre标签的输出就正常了。
在后台 外观->编辑->functions.php,把如下内容放在functions.php的开头
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// convert htmlentity for pre tag add_filter('the_content', 'htmlspecialchars_pre', 12); add_filter('get_comment_text', 'htmlspecialchars_pre'); function htmlspecialchars_pre ($content) { return preg_replace_callback ("<pre>(.*?)<\/pre>/si", create_function('$matches','return "<"."pre".">" . htmls_pecial_chars($matches[1]) ."<"."/pre>";'),$content); } function htmls_pecial_chars($content=''){ $content = str_replace("<","<",$content); $content = str_replace(">",">",$content); $content = str_replace("&","&",$content); $content = str_replace('"',""",$content); $content = str_replace("'","'",$content); $content = str_replace(" "," ",$content); return $content; } |