PHP 从字符串中删除特殊字符

2022-08-30 14:27:23

我在删除特殊字符时遇到问题。我想删除除“( )/”之外的所有特殊字符。% - &“,因为我将该字符串设置为标题。

我编辑了原始代码(如下所示):

preg_replace('/[^a-zA-Z0-9_ -%][().][\/]/s', '', $String);

但这并不能删除特殊字符,例如:“™'s”,“'œ'”,“''”等。

原始代码:(这有效,但它删除了这些字符:“( ) / .% - &")

preg_replace('/[^a-zA-Z0-9_ -]/s', '', $String);

答案 1

您的点与所有字符匹配。转义它(以及其他特殊字符),如下所示:

preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $String);

答案 2
preg_replace('#[^\w()/.%\-&]#',"",$string);

推荐