preg_replace 不工作 - 没有任何变化
preg_replace is not working - nothing changes
我从我的一个 cms 验证中获得了下一个模式:
'/^[^0-9!<>,;?=+()@#"°{}_$%:¤|]*$/u'
我有一个表单,我可以将其发送到 php 名字变量,该变量必须通过先前的验证。所以我制作 preg_replace 来清理字符串。
我做这个:
preg_replace('/^[0-9!<>,;?=+()@#"°{}_$%:¤|]*$/u', '', $firstname);
但没有任何变化。
可以帮忙吗?
您想用空字符串替换所有这些字符,因此删除。您必须使用稍微不同的正则表达式。
preg_replace('/[0-9!<>,;?=+()@#"°{}_$%:¤|]/u', '', "foobar_123123_&90481");
解释:用 ^ 表示字符串必须以其中一个字符开头。使用 $ 你说它必须以其中一个字符结尾。使用 * 表示该类型的 0 个或多个字符。
但是你想要的只是用一个空字符串替换每个匹配的字符,所以你不需要那些 ^, $ and *
modifiers/limiters.
我从我的一个 cms 验证中获得了下一个模式:
'/^[^0-9!<>,;?=+()@#"°{}_$%:¤|]*$/u'
我有一个表单,我可以将其发送到 php 名字变量,该变量必须通过先前的验证。所以我制作 preg_replace 来清理字符串。 我做这个:
preg_replace('/^[0-9!<>,;?=+()@#"°{}_$%:¤|]*$/u', '', $firstname);
但没有任何变化。 可以帮忙吗?
您想用空字符串替换所有这些字符,因此删除。您必须使用稍微不同的正则表达式。
preg_replace('/[0-9!<>,;?=+()@#"°{}_$%:¤|]/u', '', "foobar_123123_&90481");
解释:用 ^ 表示字符串必须以其中一个字符开头。使用 $ 你说它必须以其中一个字符结尾。使用 * 表示该类型的 0 个或多个字符。
但是你想要的只是用一个空字符串替换每个匹配的字符,所以你不需要那些 ^, $ and *
modifiers/limiters.