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

Wordpress 2016年4月16日

缘由

昨天我在写在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 );

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

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

Tags

Howard Liu

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

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.