PHP:正则表达式删除“â”或“—?
我使用这个正则表达式从字符串输入中删除所有标点符号,
$pg_url = preg_replace("/\W+/", " ", $pg_url);
但是有些符号或特殊字符我无法删除它们,例如
–
当我将其传递到我的数据库注入时,它会变成 < code>â 或 -
我怎样才能摆脱这些奇怪的东西?
谢谢。
I use this regular expression to remove all the punctuation marks from a string input,
$pg_url = preg_replace("/\W+/", " ", $pg_url);
but there are some kind of symbols or special characters I can't remove them, such as
–
when I pass this into my db injection, it will either turns into â
or â€
How can I get rid of these strange stuff?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这些字符以 Unicode 编码,特别是 UTF-8。
您可能需要考虑使用 iconv 系列 函数将它们转换为一些其他编码(例如,首先是纯 ASCII)。
Those characters are encoded in Unicode, specifically UTF-8.
You may want to consider using the iconv family of functions to convert them into some other encoding (e.g. plain ASCII first).