请问有人可以告诉我如何替换字符串中除了下划线和句号以外的所有特殊字符。此外,我一直在尝试理解如何使用替换模式,阅读了PHP
手册,但对于像我这样的初学者来说非常困惑,是否有其他为初学者准备的文档或教程,这样我就不必每次想使用此函数时都要发布另一个问题并麻烦你们了吗?
preg_replace('/[^a-zA-Z0-9]/', '', $string);
我已经有一个代码,它可以替换所有特殊字符,但我希望保留_
和.
。
请问有人可以告诉我如何替换字符串中除了下划线和句号以外的所有特殊字符。此外,我一直在尝试理解如何使用替换模式,阅读了PHP
手册,但对于像我这样的初学者来说非常困惑,是否有其他为初学者准备的文档或教程,这样我就不必每次想使用此函数时都要发布另一个问题并麻烦你们了吗?
preg_replace('/[^a-zA-Z0-9]/', '', $string);
我已经有一个代码,它可以替换所有特殊字符,但我希望保留_
和.
。
将_
和.
放入否定字符集中([^...]
):
$string = preg_replace('/[^a-zA-Z0-9_.]/', '', $string);
你不应该省略$string = ..
,因为preg_replace
函数会返回替换后的字符串。它不会直接改变原来的字符串。
/[^\w.]/
,因为\w
匹配任何单词字符(包括字母、数字、_
)。 - falsetru/
:'/[^a-zA-Z0-9_.\/]/'
。或者使用另一个正则表达式分隔符(无需转义):'|[^a-zA-Z0-9_./]|'
。 - falsetru,
和/
之外的所有特殊字符。 - manas paul你可以使用一些PHP筛选器小部件,如Purifier(设置输入白名单)...
但是,我们仍然建议您学习正则表达式!