2011-07-14 54 views
2

我有这行代码我用于搜索引擎优化的目的。唯一的是它有一个ereg_replace函数。现在我得到“ereg_replace()已被弃用”的错误。需要一些帮助升级一小块ereg_replace

显然它不像切换到preg_replace那么简单,我的RegEx-fu不是太强大。任何帮助将不胜感激。

谢谢。

//make it lowercase, remove punctuation, remove multiple/leading/ending spaces 
    $return = trim(ereg_replace(' +',' ',preg_replace('/[^a-zA-Z0-9\s]/','',strtolower($input)))); 
+0

[转换额日格则表达式来浸渍料(http://stackoverflow.com/questions/6270004/converting-ereg-expressions-to-preg) – mario

回答

2

在这里你去。

$return = trim(preg_replace('/[ ]+/i',' ',preg_replace('/[^a-zA-Z0-9\s]/','',strtolower($input)))); 
+0

这是一个实际上给了我正确的可能重复结果。我希望它有更多的+1给予。我其实是先投了另一个答案,因为它比较容易,但是一旦我运行测试,这给了我正确的结果。我似乎无法拿走我的投票,但另一个。 – Serhiy

+1

@Serhiy因为我是一个正则表达式。我看到他的回答,我就像“puhleaseeeeee,甚至没有关闭” – FinalForm

+1

@Serhiy顺便说一句,你的域名“wellcommentedcode.com”是性感的名字。 – FinalForm

3

你只需要添加定界符

$return = trim(preg_replace('/ +/',' ',preg_replace('/[^a-zA-Z0-9\s]/','',strtolower($input)))); 

ereg_replace(' +'成为preg_replace('/ +/'