如何替换php中除下划线和句点以外的所有特殊字符?
有谁能告诉我如何替换字符串中除下划线和句点符号以外的所有特殊字符吗?同时,我一直在试图理解如何使用这种替换模式阅读如何替换php中除下划线和句点以外的所有特殊字符?,php,regex,Php,Regex,有谁能告诉我如何替换字符串中除下划线和句点符号以外的所有特殊字符吗?同时,我一直在试图理解如何使用这种替换模式阅读PHP手册,对于像我这样的初学者来说,这太让人困惑了。还有没有其他易于理解的文档或教程对于初学者,这样我就不必在每次我想使用此功能时都发布类似的问题并麻烦大家了 preg_replace('/[^a-zA-Z0-9]/', '', $string); 这就是我所拥有的,它替换了所有特殊字符,但我希望除了和之外,将和放在否定的字符集([^…]): 您不应该忽略$string=..,因
PHP
手册,对于像我这样的初学者来说,这太让人困惑了。还有没有其他易于理解的文档或教程对于初学者,这样我就不必在每次我想使用此功能时都发布类似的问题并麻烦大家了
preg_replace('/[^a-zA-Z0-9]/', '', $string);
这就是我所拥有的,它替换了所有特殊字符,但我希望除了
和
之外,将
和
放在否定的字符集([^…]
):
您不应该忽略
$string=..
,因为preg\u replace
返回被替换的字符串。它不会在适当的位置更改字符串。您可以使用一些php过滤器小部件,如Purizer(为输入设置白名单)
不过,我们还是建议你学习正则表达式 @maniteja,仅供参考,上面的模式可以替换为
/[^\w.]/
,因为\w
匹配任何单词字符(包括字母、数字,
)。您如何允许在此处使用“/”字符?@ChrisSchlitt,添加/
,并正确转义:'/[^a-zA-Z0-9.\/]/'
。或者使用另一个正则表达式delimeter(无转义):“|[^a-zA-Z0-9./]|”
$string = preg_replace('/[^a-zA-Z0-9_.]/', '', $string);