2010-11-20 110 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