Php 如何清理包含符号的文本字符串,以便与另一个文本字符串进行比较

Php 如何清理包含符号的文本字符串,以便与另一个文本字符串进行比较,php,preg-replace,Php,Preg Replace,因为有多种编码“特殊”字符的方法,特别是“与”,如何进行字符串比较,从指针和干草堆中删除所有特殊字符,以便进行“苹果对苹果”比较,以检查指针是否出现在干草堆中 例如,如果我有一根针“black&decker”,我想把它消毒成“black&decker”,然后看看“black decker”是否出现在干草堆中,我需要做和我在针对干草堆上做的相同的替换,以解释所有编码符号的方式以及“black&decker”的方式可能被编码为出现在干草堆中 & & (I've

因为有多种编码“特殊”字符的方法,特别是“与”,如何进行字符串比较,从指针和干草堆中删除所有特殊字符,以便进行“苹果对苹果”比较,以检查指针是否出现在干草堆中

例如,如果我有一根针“black&decker”,我想把它消毒成“black&decker”,然后看看“black decker”是否出现在干草堆中,我需要做和我在针对干草堆上做的相同的替换,以解释所有编码符号的方式以及“black&decker”的方式可能被编码为出现在干草堆中

&
& (I've only seen this in WordPress editor markup)
&#038

是否有一种preg_replace、regex或replace方法可以做到这一点,并且具有一定的准确性

是否要将字符串缩减为字母、数字和空格?我会用它
preg\u replace('/[^\w\d]/','')

这基本上消除了任何不是“单词字符”、数字或空格的内容

是否要将字符串缩减为字母、数字和空格?我会用它
preg\u replace('/[^\w\d]/','')

这基本上消除了任何不是“单词字符”、数字或空格的内容

如果草堆(或针)存储为“black&;decker”,则替换的字符串将是“black&;decker”,不是吗?是的,我忘了这一点。在这种情况下,首先通过
htmlspecialchars\u decode()
传递字符串。很难让这样的东西通用,你只需要知道在使用过程中可能会遇到的不同编码我得到了这个>警告:preg_replace()[function.preg replace]:未知修饰符“g”:在一些旧的PHP中,另一个要注意的是魔引号。如果
get\u magic\u quotes\u gpc()
返回true,则表单输入中的任何引号都将用反斜杠转义。然后,您可以使用
stripslashes()
删除这些内容。添加magic quotes功能是为了防止SQL注入,但最近被删除了,因为它非常烦人,而且有更好的方法来处理SQL注入问题。哎呀,我想你可以在最后去掉
g
修饰符,因为
preg_replace
已经进行了全局搜索和替换如果草堆(或针)存储为“black&;decker”,那么替换的字符串将是“black&;decker”,不是吗?是的,我忘了这一点。在这种情况下,首先通过
htmlspecialchars\u decode()
传递字符串。很难让这样的东西通用,你只需要知道在使用过程中可能会遇到的不同编码我得到了这个>警告:preg_replace()[function.preg replace]:未知修饰符“g”:在一些旧的PHP中,另一个要注意的是魔引号。如果
get\u magic\u quotes\u gpc()
返回true,则表单输入中的任何引号都将用反斜杠转义。然后,您可以使用
stripslashes()
删除这些内容。magic quotes功能是为了防止SQL注入而添加的,但最近被删除了,因为它非常烦人,而且有更好的方法来处理SQL注入问题。哎呀,我想你可以在最后去掉
g
修饰符,因为
preg\u replace
已经进行了全局搜索和替换