2014-05-03 21 views

回答

2

dot.)是正則表達式中一種特殊字符,匹配任何單個字符除換行符(或全部,如果指定PCRE_DOTALL任何字符)。如果你真的想匹配一個文字.字符,你必須逃避它或包裝在一個字符類。

然而,對於一些這個簡單,沒有必要對正則表達式。只需使用str_replace

$dir = str_replace('...', '', $dir); 

還要注意,一個horizontal ellipsis)是從三個時期(...)獨立的Unicode字符。如果你也需要處理這些,那麼PHP會提供真正的Unicode支持,這會變得棘手。究竟如何處理它取決於$dir編碼,但假設它是UTF-8編碼,這將消除任何水平省略號字符(\xE2\x80\xA6\u2026的UTF-8編碼形式):你爲什麼要使用

$dir = str_replace("\xE2\x80\xA6", '', $dir); 
+0

謝謝!完美! – user3598013