Да, проверил, так и есть,
Нашёл, офигительную регулярку
Сами ссылки как и у вас находит до пробела, но до кучи ещё и сами анкоры все вытаскивает.
И там же тоже работает:
Проверил, работает!
Кто здесь?
p.s. Вас я уже запомнил ;) и записываю в блокнотик:
регурярка для поиска всех ссылок: preg_match_all('#<a[^>]*? href\s*=\s*(\S+?)[>\s]#ism', $txt, $links);
--
А выборка всех ссылок и анкоров до кучи, вот так?
preg_match_all('#<a[^>]*? href\s*=\s*(\S+?)[>](.*)<\/a>#ism', $txt, $links);
Наверное, есть ошипка, поправьте если что.
И похоже вот такую ссылку не словит ваша регулярка, <a href="http://site.ru/dir to file/index.php">
вроде как вытащит только http://site.ru/dir
В дополнение к своему посту:
Т.е. задачу я бы поставил так, найти все ссылки (вытащить url-ы) и анкоры в коде html, т.е. обрабатывать такие вещи:
<a href="url">анкор</a>
<a href='url'>анкор</a>
<a href=url>анкор</a> - url может быть путём с пробелами, но брать тогда нужно то, что до пробела.
<a opthref=ggg href=url target=blank>анкор</a> - т.е. наличие других параметров не должно мешать выборке url-ов
А если идти дальше, то тогда выборку вообще стоит разбить на две:
1. Поиск все ссылок с анкорами в валидных <a></a>, где параметр href указан в кавычках.
2. Поиск все ссылок без кавычек и помечать их как невалидные!
А дальше, кому нужно пущай с двумя массивами работает и делает то, что требуется. Можно и url и анкоры анализировать и т.п. Достаточно универсальная была бы регулярка или даже две. Пусть две регулярки, но главное, чтобы были попроще ;)
Отдельная выборка невалидных ссылок позволит потом пропарсить сайт и исправить их. Всё-таки нужно стремиться к правильному коду HTML.
Нашёл, что-то интересное (http://forum.php.su/topic.php?forum=4&topic=112):
<?PHP // $body - строка из которой нужно выдирнуть ссылки // $link[relative] относительные ссылки // $link[absolute] абсолютные ссылки preg_match_all('#<\s*?(a)(.|\n)*?(href)=(\'|\")(.|\n)*?<\/(a)>#i', $body, $links); for ($i=0; $i<count($links[0]); $i++){ if(!preg_match('/<\s*?(a)(.|\n)*?(href)=(\'|\")(http)/i', $links[0][$i])) {$link[relative][]=$links[0][$i];}else{$link[absolute][]=$links[0][$i];} } ?>
В общем, самое оптимальное решение всё-таки - это:
Регулярка на поиск ВСЕХ ссылок.
- Универсально и просто. Можно потом при желании и все внешние ссылки найти, и все внутренние, и все ссылки на определённый сайт - не переписывая регулярок!
- Плюс ошибок будет меньше, так как выглядит гораздо проще. А кстати, где она? ;)
Мысли вслух, вспоминая себя ) : Мда, очередной новичёк попал "под пресс".
ТС, ой, desae, интерфейс форума русифицированный, если вы ещё не заметили.
И если что-то вдруг непонятно, то не спешите задавать сразу же вопрос, сначала почитайте правила, с которыми вы должны были познакомиться в момент регистрации.
Фраза "похожие домены", как у нас модно говорить сегодня, очень коррупциёмкая! ;)
DyaDya добавил 24.07.2009 в 08:29
224, если быть поточнее ;), 225, наоборот, усугубит положение)).
Если честно, то нифига не понимаю... Если домен раньше ТЗ зареген, то какие проблемы-то?
А если я в суде докажу, что они ТЗ зарегили именно потому что у меня был крутой домен и они хотят его отобрать?!
Ох как хотелось бы судебное решение, основания увидеть! ТС, огласите вердикт.
Выходит любой может зарегить ТЗ, например, на домен Лебедева, Михеева и т. д. ;). А потом прийти и сказать, домен отдайте или нефиг использовать. Мол у меня ТЗ.
Пора начинать на форуме юристов тусить, может что прояснится.
Будем верить, что всё нормульно. Он и до этого далеко не каждый 5 минут заходил в тему. Решит проблемы и отпишется. Ждём-с. Главное, чтобы до крайностей не дошло в пылу и жару.
Очень сложный вопрос. Иногда не знаешь, кто виноват. Алкаш или система, которая такими делает. Каждого человека нужно спасать, но не каждый в состоянии это сделать.
Нужно улучшать и улучшать взаимоотношения. Править законы. Менять отношение людей друг к другу. Взаимоуважения бы побольше, участия, и всё будет хорошо. Запойных будет гораздо меньше. А это... работы ещё на десяток лет вперёд!
Вариант одын:
Если вы можете обеспечить себя и её, то в чём проблема? Заработали, сняли хату. Свалили. При этом на время сваливания суток на 15 отчима можно запросто в ментовку сбагрить и есть за что!
То что его поймать не могут (по вашим словам), это чушь). Будет желание, поймают. В квартире стены то есть? Выход вроде один же! На окна можно решётки повесить заблаговременно.
В конце, концов, менты знают, что он такой. Да и вас, небось, они уже хорошо знают. Можно договориться по нормульному, чтобы аккуратно заявились, а не с сиреной ;)
Вариант два:
Да, можно лечить. Есть реальные результаты. Но большой процент возврата к алкоголизму. Всё равно не устоит. Соблазнов много, друзья - пьют, соседи -пьют и т.п. Это даже хуже, чем бросать курить. И требует очень многих усилий и постоянного контроля. После кодировки, как правило люди не менее нервные и бешенные. Иногда не знаешь, что лучше, когда пьёт или когда закодирован ;(.
Вариант тры:
Наезд, угрозы, серьёзный разговор с пацанами плюс сюда же обработка в милиции (в хорошем смысле, они это умеют делать, психологи что надо). Ну и плавный переход к варианту два.
p.s. Всё начинается с нашей любимой армии. У меня 50-60% друзей из служивших в армии, очень любят выпить! и не по поллитра. А одного друга я потерял (пока он жив к счастью, и у него один ребёнок. Хочет второго. Потерял именно как друга. Помочь ничем не смогли. Но он бухает вместе с женой, потому ни его ни её это не парит и их устраивает. Ещё и работает пока, в охране причём). Так вот его я трезвым ниразу не видел после его возвращения из армии. А уже с десяток лет прошло, однако! Знаю, что те кто бухают по чёрному (практически каждый день), доживают лет до 40-45. Помирают от цирроза печени или отравления палёнкой. Т.е. организма на бухалово хватает лет на 20. Не знаю, к чему это я?! Просто, делюсь реальными фактами.
Интересно, а этим "проворовавшимся" сайтам ничего не было? ;)
Похоже, ваш проворовался больше, раз оказался крайним в этой куче.
DyaDya добавил 23.07.2009 в 10:45
должен согласиться ;).
Похоже, что слишком много сайтов под подобным фильтром. И как быть, когда один сайт последний, а другой - предпоследний!
Возможно, фильтр можно переименовать в более правдоподобный, например, "Ты вор!" или "Сопли" (чем не по-гугловски).
Даже сам Платон, пишет: "... развивайте сайт...".
Между строк нужно читать так: "Ваш сайт на данный момент не несёт полезной информации и только захламляет нашу базу, радуйтесь, что он ещё не в бане!"