原理也很簡單,新版本的PHP語法表達發(fā)生了新的變化,所以會報錯。我們先找到“wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php”這個文件,打開該文件并找到第340行,添加一個轉義符號“\”就可以了。

#源代碼 未修改
function clean_id($id) {
        $id = CrayonUtil::space_to_hyphen( strtolower(trim($id)) );
        return preg_replace('/[^\w-+#]/msi', '', $id);
}
#源代碼 已修改
function clean_id($id) {
        $id = CrayonUtil::space_to_hyphen( strtolower(trim($id)) );
        return preg_replace('/[^\w\-+#]/msi', '', $id);
}

我們可以看到在字母w后面添加了一個\,原因就是“[”是正則表達式中的特殊字符,所以需要用\反斜杠來轉義。

正則表達式中的特殊字符,就是一些有特殊含義的字符,如“*.txt”中的*,簡單的說就是表示任何字符串的意思。如果要查找文件名中有*的文件,則需要對*進行轉義,即在其前加一個\。ls \*.txt。以下是正則表達式特殊字符。

* 匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
$ 匹配輸入字符串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 ‘\n’ 或 ‘\r’。要匹配 $ 字符本身,請使用 \$。
+ 匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+。
. 匹配除換行符 \n之外的任何單字符。要匹配 .,請使用 \。
| 指明兩項之間的一個選擇。要匹配 |,請使用 \|。
? 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字符,請使用 \?。
^ 匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。要匹配 ^ 字符本身,請使用 \^。
\ 將下一個字符標記為或特殊字符、或原義字符、或向后引用、或八進制轉義符。例如, ‘n’ 匹配字符 ‘n’。’\n’ 匹配換行符。序列 ‘\\’ 匹配 “\”,而 ‘\(‘ 則匹配 “(”。
( ) 標記一個子表達式的開始和結束位置。子表達式可以獲取供以后使用。要匹配這些字符,請使用 \( 和 \)。
{ } 標記限定符表達式的開始。要匹配 {,請使用 \{。
[ ] 標記一個中括號表達式的開始。要匹配 [,請使用 \[。

構造正則表達式的方法和創(chuàng)建數(shù)學表達式基本異曲同工。都是用多種元字符與操作符將小的表達式結合在一起來創(chuàng)建更大的表達式。正則表達式的組件可以是單個的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合。

贊(2) 打賞
版權聲明:本文采用知識共享 署名4.0國際許可協(xié)議 [BY-NC-SA] 進行授權
文章名稱:《WordPress 首頁正常部分文章頁面無法正常顯示》
文章鏈接:http://www.chufaqi.cn/oam/4496.html
本站資源僅供個人學習交流,請于下載后24小時內刪除,不允許用于商業(yè)用途,否則法律問題自行承擔。
分享到

相關推薦

登錄

找回密碼

注冊

  • <pre id="zdr3e"></pre>
      
      
    • <dfn id="zdr3e"><cite id="zdr3e"></cite></dfn>
      《交换做爰》免费hd | 色999在线 | 欧美一级免费黄片 | www.久久伊人 | 久久国产精品精品国产 |