[英]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.