Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用preg_replace模式清理字符串_Php_Regex_Preg Replace - Fatal编程技术网

Php 使用preg_replace模式清理字符串

Php 使用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-字母或数字 @-文字字符@ . - 文字字符。 +-将

我想用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-字母或数字 @-文字字符@ . - 文字字符。 +-将之前的数量匹配一次或多次 /结束定界符
好吧,是什么阻止了你?好问题@NiettheDarkAbsol,除了原来的问题。我想@Niet是在说你到目前为止尝试了什么?你不能来这里要求家庭作业解决方案或与工作相关的解决方案,甚至不首先尝试使用\w不是一个好主意。单词字符是任何字母、数字或下划线字符,即可以是Perl单词一部分的任何字符。字母和数字的定义由PCRE的字符表控制,如果发生特定于语言环境的匹配,则可能会有所不同。例如,在fr法语区域设置中,某些大于128的字符代码用于重音字母,这些字符代码由\w匹配@NiettheDarkAbsol:我同意这不是一个好主意。更新了答案。谢谢Amal和Niet。这正是我所需要的。