我想为url使用正则表达式。但我的代码不起作用请帮助我,我是新来的。 我的网址就像:
http://www.justdial.com/Delhi/Eagnatec--Opposite-Sun-Vally-International-School-Vaishali-Sector-1/011PXX11-XX11-120601182620-Y5P9_RGVsaGkgQ29tcHV0ZXIgVHJhaW5pbmcgSW5zdGl0dXRlcw==_BZDET - Eagnatec
我的代码是:
<?php
$hh1='http://www.justdial.com/Delhi/Eagnatec--Opposite-Sun-Vally-International- School-Vaishali-Sector-1/011PXX11-XX11-120601182620- Y5P9_RGVsaGkgQ29tcHV0ZXIgVHJhaW5pbmcgSW5zdGl0dXRlcw==_BZDET - Eagnatec';
$date_regex='^(http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6} (?:\/?|(?:\/[\w\-]+)*)(?:\/?|\/\w+\.[a-zA-Z]{2,4}(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\- ]+)*)$';
if (preg_match($date_regex,$hh1))
{
echo "correct";
} ?>
答案 0 :(得分:0)
首先,您的模式$date_regex
缺少delimiters。
然后,您的模式与主题$hh1
:
http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*
匹配http://www.justdial.com
。
以下\.
(转义的文字`.`)与主题的下一个字符/
不匹配。