Php 使用正则表达式或删除特殊键盘字符/形状?

Php 使用正则表达式或删除特殊键盘字符/形状?,php,regex,Php,Regex,我正在使用YQL收集一些数据,然后将其解析到Amazon的simpledb中。我在尝试将某些标题插入数据库时遇到一些错误,因为我正在解析的xml文件中的某些标题包含如下字符 ◆ ▒ ♠ ✖ ¸ . ´ ¨ 我相信这不是所有可能的特殊角色。到目前为止,我所注意到的正是这一点导致了这些错误 这些不是标准的键盘字符。有没有一种简单的方法可以删除/禁止这些类型的字符(regex等),而不必找到它们中的每一个并将它们包含在regex中 谢谢 这将修剪文本,使其仅包含字母或数字、空格和下划线/破折号 参考

我正在使用YQL收集一些数据,然后将其解析到Amazon的simpledb中。我在尝试将某些标题插入数据库时遇到一些错误,因为我正在解析的xml文件中的某些标题包含如下字符

◆ ▒ ♠ ✖ ¸ . ´ ¨
我相信这不是所有可能的特殊角色。到目前为止,我所注意到的正是这一点导致了这些错误

这些不是标准的键盘字符。有没有一种简单的方法可以删除/禁止这些类型的字符(regex等),而不必找到它们中的每一个并将它们包含在regex中

谢谢

这将修剪文本,使其仅包含字母或数字、空格和下划线/破折号


参考

您会遇到哪些错误?并不是说你只是因为看错了方向才更改标题,而是因为数据库也应该接受这些字符。我使用的是将解析后的数据插入数据库。不确定是php脚本返回错误还是simpledb拒绝并向脚本报告错误。
putAttributes()项knoxville-279920717项
knoxville-279920717失败
ErrorCode:InvalidParameterValue
这是错误的一个示例。其他不包含特殊字符的项目被输入到数据库中,没有错误。我尝试使用脚本删除无效的utf-8字符,但得到了相同的结果<(7)美国全国各地(7)可能会::/([[\x09\x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0(代理)$input,$clean_件)$clean_输出=连接(“?”,$clean_片段[0])我可能会使用这个,然后添加一些其他字符。谢谢
$text = preg_replace('/[^a-zA-Z0-9_ -]/s', '', $text);