PHP去除字符串中的特殊字符

标签 php regex string preg-replace

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

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

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

但这不适用于删除特殊字符,例如:“’s”、““”、“—等。

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

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

最佳答案

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

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

关于PHP去除字符串中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6073221/

相关文章:

php - PHP 中的容错 HTML/XML/SGML 解析

javascript - 带有可选国家代码的电话号码的正则表达式

Java:正则表达式替换

c# - 将 String 与省略空行进行比较?

ios - 将字符串转换为 NSURL 在 swift 中返回 nil

php - 有选择地使用 Sed 替换 SQL 语法

php - 对 CSS、Javascript 等文件进行 gzip 一次并将其保存以供客户端使用的方法,而不是每次发出请求时都进行处理和 gzip 压缩

regex - 如何统计markdown语法文件中粗体字和斜体字的个数

c# - 如何使用反射检索字符串文字?

php - 菲尔康 : volt get value from array which key taken from variable