ZendFramework - Как получить весь список TLD для удаления с сайта? - PullRequest
0 голосов
/ 07 февраля 2012

У меня длинный список с адресами веб-сайтов. Но я должен отфильтровать их и получить только часть "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 ]

1 голос
/ 07 февраля 2012

preg_match('_https?://([a-z0-9-])\..*_i', $original_url, $matches); должно быть хорошо.$matches[1] теперь должен содержать первый раздел после http(s):// и перед первым ..

1 голос
/ 07 февраля 2012

Вы можете сделать это с некоторыми основными строковыми функциями в PHP.Загрузите все ваши URL-адреса в строковую переменную, а затем выполните простое 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);

. Будет ли это работать для вас?

...