我有一个非常简单的字符串:走出的每一个字符不是一个字母或数字PHP
suhfdgfsdf6z87wrt348rfgrztf873$[{;÷[öw
和一个非常简单的问题: 我怎么能不(不包括)每个字符不是一个字母或数字在PHP中?
我有一个非常简单的字符串:走出的每一个字符不是一个字母或数字PHP
suhfdgfsdf6z87wrt348rfgrztf873$[{;÷[öw
和一个非常简单的问题: 我怎么能不(不包括)每个字符不是一个字母或数字在PHP中?
这干净也UTF字母。
$r = preg_replace('/[\pL\d]/u', '', $var);
+1不错的一个!干杯 –
// includes underscores
preg_replace('/[\w]+/', '', $var);
或者
preg_replace('/[a-zA-Z0-9]+/', '', $var);
你应该只剩下你的特殊字符,在这之后。
\ b是一个单词字符,与[a-zA-Z0-9_]匹配,所以\ d是不需要,但你仍然需要删除下划线。 –
哦,这是正确的,我忘了它已经包括_numbers_。谢谢! –
其实,我用\ b测试过它,它没有像预期的那样工作(我相信\ b在括号中改变了行为)。我将它改为\ w并且效果更好。 –
<?php
$string = '[email protected]#$%ABCDEFG1234567()*&';
echo ereg_replace('[^a-zA-Z0-9]', '', $string)
?>
我看到有人已经有了这一点,但他们使用了preg_replace,这是更好,因为ereg_replace将不会继续支持。
你算作'ö'是一封信吗? (顺便说一句,它*实际上是一封信。) –
是啊'ö'是我的一封信... – Akos