ZendFramework - 如何从网站上删除所有TLD列表?

时间:2012-02-07 18:49:38

标签: php zend-framework zend-filter zend-filter-strip-tags

我有一个很长的网站地址列表。但我必须过滤它们,只得到“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内置函数?

2 个答案:

答案 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)://之后和第一个.之前的第一部分。