有关 preg_replace 和特殊字符的帮助
我正在使用 PDO 类,但我正在尝试删除除...之外的所有字符:
function cleaner($str){
return preg_replace('/[^a-zA-Z0-9éàêïòé\,\.\']/',' ',trim($str));
}
如您所见,这是一个简单的函数,但它删除了所有字符 éàêïòé
示例:cleaner ('$#$<<>-//La souris a été mangée par le chat ') //返回
La souris at mang e par le chat (老鼠被猫吃掉了:))
任何帮助将不胜感激
I'm using the PDO class but I'm triying to remove all chars except...:
function cleaner($str){
return preg_replace('/[^a-zA-Z0-9éàêïòé\,\.\']/',' ',trim($str));
}
As you can see, it's a simple function, but it removes all chars éàêïòé
example: cleaner('$#$<<>-//La souris a été mangée par le chat ') //returns
La souris a t mang e par le chat
(The mouse has been eaten by the cat :) )
Any help will be appreciate
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要在模式中添加 /u 模式修饰符以在 PCRE 中打开 UTF-8 支持。这是假设所有内容都已采用 UTF-8 格式。
http://www.php.net/manual/en/参考.pcre.pattern.modifiers.php
You need to add /u pattern modifier to your pattern to turn on UTF-8 support in PCRE. This is assuming everything is in UTF-8 already.
http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
这两个片段都对我有用,在 PHP 5.3 上。第二个正则表达式限制较少,并且接受所有 Unicode 字母。
Both the snippets worked for me, on PHP 5.3. The second regular expression is less restricted, and accepts all Unicode letters.