我有以下的正則表達式在Perl,我需要轉換爲PHP轉換Perl的正則表達式PHP
if ($referrer_url =~ /\.$domain/) { }
我目前擁有的在PHP以下與之相匹配的,但我沒有得到相同的結果:
if (preg_match("/\.$domain/", $referrer_url)) { }
任何人都可以告訴我,如果我有什麼是相同的,或者我錯了嗎?謝謝!
我有以下的正則表達式在Perl,我需要轉換爲PHP轉換Perl的正則表達式PHP
if ($referrer_url =~ /\.$domain/) { }
我目前擁有的在PHP以下與之相匹配的,但我沒有得到相同的結果:
if (preg_match("/\.$domain/", $referrer_url)) { }
任何人都可以告訴我,如果我有什麼是相同的,或者我錯了嗎?謝謝!
我只是猜測,你的$域可能包含像mysite.com如果這是你需要在變量中使用preg_quote的情況:
if (preg_match("/\.".preg_quote($domain, "/")."/", $referrer_url)) { }
實際上,Perl代碼更接近於相當於'if(preg_match(「/\.".$ domain。」/「,$ referrer_url)){}',但它可能應該是你所說的。 – ikegami
如果$域是一個普通的字符串,你可以寧願使用strpos
至Find the position of the first occurrence of a substring in a string
。這可以達到與使用preg_quote相同的結果,並且易於閱讀。
if (strpos($referrer_url, ".$domain") !== false) {
}
「我沒有得到相同的結果」 - 與結果有什麼不同? – naththedeveloper