将Perl正则表达式转换为PHP
我有以下PERL格式的正则表达式,需要将其转换为PHP将Perl正则表达式转换为PHP,php,regex,perl,Php,Regex,Perl,我有以下PERL格式的正则表达式,需要将其转换为PHP if ($referrer_url =~ /\.$domain/) { } 我目前在PHP中有以下内容与之匹配,但我没有得到相同的结果: if (preg_match("/\.$domain/", $referrer_url)) { } 有谁能告诉我,我所拥有的是相同的还是我错了?谢谢 我只是猜测您的$domain可能包含类似mysite.com的内容,如果您需要在变量上使用这种情况: if (preg_match("/\.".preg
if ($referrer_url =~ /\.$domain/) { }
我目前在PHP中有以下内容与之匹配,但我没有得到相同的结果:
if (preg_match("/\.$domain/", $referrer_url)) { }
有谁能告诉我,我所拥有的是相同的还是我错了?谢谢 我只是猜测您的$domain可能包含类似mysite.com的内容,如果您需要在变量上使用这种情况:
if (preg_match("/\.".preg_quote($domain, "/")."/", $referrer_url)) { }
我只是猜测您的$domain可能包含类似mysite.com的内容,如果您需要在变量上使用这种情况:
if (preg_match("/\.".preg_quote($domain, "/")."/", $referrer_url)) { }
如果$domain是一个常规字符串,您可能更愿意使用它来查找字符串中第一个子字符串出现的位置。这将获得与使用preg_quote相同的结果,并且更易于阅读
if (strpos($referrer_url, ".$domain") !== false) {
}
如果$domain是一个常规字符串,您可能更愿意使用它来查找字符串中第一个子字符串出现的位置。这将获得与使用preg_quote相同的结果,并且更易于阅读
if (strpos($referrer_url, ".$domain") !== false) {
}
“我没有得到相同的结果”-与您的结果有什么不同?“我没有得到相同的结果”-与您的结果有什么不同?实际上,Perl代码更接近于
if(preg\u match(“/\”。$domain.”/“,$referer\u url)){}
,但它可能应该是您所说的。实际上,Perl代码更接近于if(preg\u match(“/\.”“$domain.”/“,$referer\u url)){}
,但它可能应该是您所说的。$domain
在Perl代码中被视为regex模式,这是不同的,但这可能是Perl代码应该做的。或者只是if(strpos($referer\u url,“$domain”)){…
是的,在我看来,您的解决方案比preg_match()
选项更具可读性。+1.$domain
在Perl代码中被视为regex模式,这是不同的,但这可能是Perl代码应该做的。或者只是if(strpos($referer\u url,.$domain))){…
是的,在我看来,您的解决方案比preg_match()
选项更具可读性。