|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Наверняка у большинства из Вас стоит модуль контекстного поиска. О нЈм Вы знаете лишь одно (если знаете, конечно) - по кронтабу запускается задание, обрабатывается контент стартовой страницы, текст страницы сохраняется в табличку, дальше алгоритм по найденным ссылкам переходит на другие страницы и все повторяется...
из всего сказанного интересным пунктом является механизм поиска ссылок на другие страницы сайта, реализован он через регулярные выражения
Код:
...
preg_match_all("/<a[ t]{1}[^>]*href[^=]*=[ '"t]*([^ "'>t#]+)[^>]*>/ims",$document,$document_url);
...
ну так вот, указанный разработчиками шаблон не столь корректен, как хотелось бы, он не сможет определить ссылки вида:
Код:
1. < a href=/map/>
2. <a
href
=/map/>
в первом случае, после начала тега стоит знак пробела
во втором, случае ссылка состоит из 3-х строк
что уже позволяет делать вывод о вероятных ошибках при индексации сайта...
выкладываю на рассмотрение публики и разработчиков другой шаблон (писал сам с нуля... потом просто с неткетом сравнил и вывел разницу):
Код:
preg_match_all("/<s*a.+?hrefs*=s*['|"]?s*([-A-Z0-9+&@#/%=~_|!:,.;?]*).*?>/si",$document,$document_url);
зы: предлагаю разработчикам неткета исправить найденную некоррекстность...
Temet nosce...
|
|
DmD
Зарегистрирован: 2006-06-29
Сообщений: 25
|
Остается только позавидовать наблюдательности и знаниям 'DiGGy' и сказать спасибо ;)
Пусть каждый верит в то, что говорит, не обижайте их напрасно....
|