解决Syntax Highlighter Evolved带来的字符转义问题

Wordpress Apr 16, 2016

缘由

昨天我在写在GAE上面安装云签的教程的时候,发现我代码块里面的尖括号和引号之类的符号都被转义成了"的样子,导致我的代码块里面的内容发生混乱。今天上网查了一下发现有一个折中的解决方法,只需要改动一行Highlighter的代码。

解决方法

修改wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php:
原本的代码:

# 第1046行(Syntax Highlighter Evolved 3.2.1版本)
# 找不到请搜索一下即可
$code = ( false === strpos( $code, '<' ) && false === strpos( $code, '>' ) && 2 == $this->get_code_format($post) ) ? strip_tags( $code ) : htmlspecialchars( $code );

改后的代码:

$code = ( false === strpos( $code, '<' ) && false === strpos( $code, '>' ) ) ? strip_tags( $code ) : htmlspecialchars( $code );

保存文件,重新加载文章,问题解决。

之所以说是折中的方法,因为并没有从根本上解决问题,更新插件的时候仍旧会导致更改被还原,需要再弄一次。(当然你也可以改插件名字和文件夹名,那就可以关闭自动更新了)

标签

Howard Liu

在读大学生,平常使用战争雷霆提高血压和听网课使自己更快入睡。