[英]how do i compare php string vars using regex
我想匹配两个字符串(使用正则表达式),以忽略一个字符串可能带有或不带有连字符和/或单引号字符的事实(实际上只是忽略了两个字符串中的所有标点符号)。
问题是两个字符串都在PHP变量中,而不是我可以轻松实现的文字,但是不包含变量-请提出任何想法...甚至可能。
例如,像模式修饰符/ i指定不区分大小写的比较-是否有修饰符说忽略标点,只比较字母数字字符串?
if (preg_replace("/['\-]/", '', $str1) == preg_replace("/['\-]/", '', $str2) {
...equal...
}
基本上:从两个字符串中去除'
和-
,然后比较得到的去除字符串。 如果您不区分大小写,请改用strtolower(preg_replace(....))
。
我要替换两个字符串中的所有非字母数字+空格( \\s
)字符。 然后在正则表达式中使用一个字符串与其他字符串匹配。
$str1 = "alexander. was a hero!!";
$str2 = "alexander, was a hero?";
if(preg_match(
"/^".preg_replace("/[^a-zA-Z0-9\s]/", "", $str1)."$/i",
preg_replace("/[^a-zA-Z0-9\s]/", "", $str2)
)){
print "matched!";
}
如果需要,可以忽略上述正则表达式中的空格( \\s
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.