Php 使用preg_replace模式清理字符串
我想用php preg_replace删除注意,我想删除它们,所以我不想使用htmlentitiesPhp 使用preg_replace模式清理字符串,php,regex,preg-replace,Php,Regex,Preg Replace,我想用php preg_replace删除注意,我想删除它们,所以我不想使用htmlentities 我想允许字符a-z,a-z,0-9和特殊字符。只有非常直截了当: $string = preg_replace('/[^a-zA-Z0-9@.]+/', '', $string); 简单英语:将一个或多个非字母、数字或符号@的内容替换为零 尸检: /-起始分隔符 [^a-zA-Z0-9@.]-字符类 ^-用于否定字符类 a-zA-Z0-9-字母或数字 @-文字字符@ . - 文字字符。 +-将
我想允许字符a-z,a-z,0-9和特殊字符。只有非常直截了当:
$string = preg_replace('/[^a-zA-Z0-9@.]+/', '', $string);
简单英语:将一个或多个非字母、数字或符号@的内容替换为零
尸检:
/-起始分隔符
[^a-zA-Z0-9@.]-字符类
^-用于否定字符类
a-zA-Z0-9-字母或数字
@-文字字符@
. - 文字字符。
+-将之前的数量匹配一次或多次
/结束定界符
好吧,是什么阻止了你?好问题@NiettheDarkAbsol,除了原来的问题。我想@Niet是在说你到目前为止尝试了什么?你不能来这里要求家庭作业解决方案或与工作相关的解决方案,甚至不首先尝试使用\w不是一个好主意。单词字符是任何字母、数字或下划线字符,即可以是Perl单词一部分的任何字符。字母和数字的定义由PCRE的字符表控制,如果发生特定于语言环境的匹配,则可能会有所不同。例如,在fr法语区域设置中,某些大于128的字符代码用于重音字母,这些字符代码由\w匹配@NiettheDarkAbsol:我同意这不是一个好主意。更新了答案。谢谢Amal和Niet。这正是我所需要的。