2010-11-20 77 views
0

我想刪除除了數字,字母,_(下劃線)和:(冒號)以外的所有內容:它是PREG,我只遇到#\ W#,但它刪除了:(冒號) 。簡單的正則表達式問題!

任何幫助表示讚賞,謝謝!

+1

更像是 「我不知道什麼的正則表達式」。在這種情況下,你最好學習它(至少是基礎知識,對此足夠了)。 – delnan 2010-11-20 17:50:24

+0

像delnan說的,你應該只是查看正則表達式。 – Thomas 2010-11-20 17:56:51

+0

嗨,我尋求幫助,不要被告知要學習它。 – Synergy 2010-11-20 18:09:48

回答

0

[^\w:]+ - 刪除任何不屬於([^...])字母,數字,下劃線(\w)或冒號(:)。

示例代碼:

$ptn = "/[^\w:]+/"; 
$str = "Hello~~~ World+++: 123"; 
echo preg_replace($ptn, "", $str); 

輸出:HelloWorld:123

+0

Kobi,謝謝你的回答,但它似乎並不奏效。 我正在使用PHP,它給了我以下錯誤:Warning:preg_replace()[function.preg-replace]:在第17行D:\ Servers \ Web \ public_html \ index.php中的未知修飾符'+' – Synergy 2010-11-20 17:55:25

+0

@Synergy - 我不確定你的問題是什麼,也許你可以發佈一些你的代碼?我用樣本更新了答案。無論如何,它應該在沒有'+'的情況下完全相同。 – Kobi 2010-11-20 18:11:45

+0

你已經忍受了這種新的模式,謝謝Kobi! – Synergy 2010-11-20 18:17:26