![](/img/trans.png)
[英]in php how to remove all special characters, uppercase letters, numbers and spaces
[英]PHP Remove all non letters
我有几个看起来像这样的字符串:
拉斯克莱©
琼斯和乔恩
我正在尝试通过要匹配的四方 API 发送它们,但是这些字符失败了。 有没有办法对这些进行消毒,使它们只包含英文字母,即结果将是:
拉斯克莱
琼斯乔恩
正如在 URL 中使用带有 'é' 和 '&' 的file_get_contents
请求时出现的问题。
我检查了请求是如何发送的,并意识到“&”是不需要的并且导致了问题,是否可以从名称中删除所有非字母/数字?
在你传递它们之前,这些字符串是什么样子的? 如果您的字符串看起来像“Lasklé”,那么我认为您在读取字符串时使用了错误的字符集,请尝试使用 UTF-8。
如果字符串在传递之前看起来正确,则应先尝试对字符串进行urlencode 。
您可以使用 preg_replace() function 使用正则表达式替换字符串的一部分
为了只保留您可以使用的字母,它也会删除空格(从表达式中添加 \s 以保留空格)
preg_replace('/[^a-zA-Z]/','',$string);
要在字符串中保留空格或保留任何字符,您可以将其添加到 []
preg_replace('/[^a-zA-Z\s]/','',$string);
使用它来逃避(空格和'-')。 适合制作定制 URL
$string=preg_replace("/[^A-Za-z0-9\s\/\-]/", '', $string);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.