【发布时间】:2015-04-15 00:19:59
【问题描述】:
好吧,在我的代码中,我有一个 URL,它被传递到我的函数中:testURL($url),按顺序:
- 测试
base url是否是域('http://www.example.com') -
测试各种子字符串:
ShowForumAmexOwnersManagementCenterWeatherUndergroundMapPopupasppages
如果有
base url,则返回true,但不匹配子字符串,否则返回return false;
这是代码
function testURL($url){
if ((substr($url, 0, 23) == "http://www.example.com/") && (substr($url, 23, 3) != "asp") && (substr($url, 23, 4) != "Amex") && (substr($url, 23, 5) != "pages") && (substr($url, 23, 16) != "ManagementCenter") && (substr($url, 23, 16) != "Owners") && (substr($url, 23, 9) != "ShowForum") && (substr($url, 23, 8) != "MapPopup") && (substr($url, 23, 18) != "WeatherUnderground")) {
return false;
} else {
return true;
}
例子:
testURL('http://www.example.com/Amex'); --> returns true
testURL('http://www.example.com/PayPal'); --> returns false
在我的例子中它被称为:
if (testURL('http://www.example.com/Visa')){
return;
}
随着时间的推移,被禁止的子字符串列表将变大。 那么,有没有比 if-else 大循环更好的方法来匹配可变长度的子字符串?
提前致谢!
【问题讨论】:
-
大局是什么?网址来自哪里?他们在这里被使用了吗?
标签: if-else php if-statement substr