2005年7月19日

Mantis 惱人連結

之前用過 mantis,一個 bug tracker 系統。這套系統簡潔、方便,對中文支援也 OK,雖然中文介面翻的不夠徹底,但語系檔是純文字,自己動手改就好了。

不過有個不算問題的問題讓人煩惱,就是 mantis 會把訊息字串中包含 "@" 的 email 字串改成郵件連結,這功能原本貼心,但這麼一來只要 big5 編碼中有包括 @ 字元的中文字--例如「世」「一」--就會被 mantis 把整句中文轉換為一個無意義的 email 連結。雖然無礙於系統運作,但這個偽物連結總是讓人看了心煩。

最近重裝 mantis,自然又會看到假連結,於是下定決心解決這個問題。雖然看似小小的問題,前前後後卻花了我一個小時的時間來處理--找到問題在哪用了快廿分鐘,解決這個問題則又耗去將近四十分鐘!

照理說找問題應該要花比較多的時間,怎麼這次找到問題後卻還花了那麼久時間修正?原因都是出在正規式上面,那段有嫌疑的 code 前後用了不少又臭又長的正規式,為了搞懂這些火星文花了許多時間,結果最後搞定只加了五個字元:

%mantis%/core/string_api.php:line 316

Mantis

短短五個字,花了一小時。真是「台上一分鐘,台下十年功」啊

後記:在找資料的時候,在《正規式速查手冊》的導讀中看到這麼一句話:
Regular Expression(正規式)是一種 write-only language,寫得出來,但是很難看懂!


真是於我心有戚戚焉(淚)

3 則留言:

  1. = =
    沒錯...
    怎麼可能看的懂阿....

    回覆刪除
  2. 而且更頭痛的是,不同軟體或語言所支援的 regular expression 都有小小的差異......

    回覆刪除
  3. 原來網站改到這兒來了啊!

    回覆刪除

Related Posts Plugin for WordPress, Blogger...