我有一个很长的网站地址列表。但我必须过滤它们,只得到“abcd”部分。在我的剪切/粘贴/算法中,我有非常随意的网站格式来处理,处理大型列表非常耗时。
示例:
www.abcd.tld.tld.tld to abcd
http://www.abcd.tld.tdl to abcd
abcd.tld to abcd
abcd.tld.tld to abcd
http://abcd.tld to abcd
http://abcd.tld.tld to abcd
我可以使用哪个Zend_Filter切断前后尾部,并始终获得“abcd”的中间部分。或者是否有可以执行此操作的PHP内置函数?
答案 0 :(得分:1)
您可以使用PHP中的一些基本字符串函数执行此操作。将所有网址加载到字符串变量中,然后执行简单的str_replace
$old_urls; // load your urls into this variable
$search = array('http://','https://','www.','.com','.net','.us','.org','.edu','.us'); // etc, add more tlds
$new_urls = str_replace($search,'',$old_urls);
这对你有用吗?
答案 1 :(得分:1)
preg_match('_https?://([a-z0-9-])\..*_i', $original_url, $matches);
应该做得好。
$matches[1]
现在应该包含http(s)://
之后和第一个.
之前的第一部分。