|
|
|
| вот ведь незадача!
как можно реализовать скрипт, который заходил бы на сайт и проверял бы содержимое на присутствие всего одной ссылки в тэге <a></a>? дана всего одна страница, т.е. не надо сканить весь сайт...
есть идейка реализовать всё енто через сокеты, но в какой переменной хранится содержимое запрашиваемой страницы и как с помощью регулярных выражениях найти ссылку? в рег.выражениях я слаб, что не клеится у меня с ними...
HElP | |
|
|
|
|
|
|
|
|
для: cheops
(09.02.2006 в 14:22)
| |
<?php
// Проверяемая ссылка
$http = "http://www.softtime.ru/";
// Адрес страницы, за которой следит скрипт
$url = "http://chlink.kn/test.html";
// Загружаем содержимое страницы $url
$contents = file_get_contents($url);
$http = str_replace(".","\.",$http);
$pattern = "|<a[\s]+href=\"$http\"|is";
if(preg_match($pattern,$contents))
{
echo "Ссылка присутсвует на странице";
}
else
{
echo "Ссылка отсутвует на странице";
}
?>
|
в рег.выражениях не силён, так что подскажите плиз... вот есть ссылка к примеру http://www.softtime.ru/ как мне тестить по рег.выражению на наличие на странице ссылок типа http://www.softtime.ru/forum http://www.softtime.ru/bookphp и т.д.? знаю что просто... но всё же... у мну кроме парсов(parse error) ничего не выдавалось | |
|
|
|
|
|
|
|
для: BAHO
(12.02.2006 в 17:56)
| | Вообще достаточно подставить нужный адрес в $http - как точно выглядит текст ошибки? | |
|
|
|
|
|
|
|
для: cheops
(12.02.2006 в 19:13)
| | да нет, есил это я пробую что намудрить... а так без имзенений ссылки побочные (есть ещё адрес после слеша) ссылки не определяются...
нужно сканить не только ссылки адреса переменной $http, но и что то то вроде $http/gsdgsd.html или $http/shsdfh.php ... переменная $http содержит полный адрес до сайта, но не до определённой страницы, т.е. к примеру $http="http://www.softtime.ru" | |
|
|
|
|
|
|
|
для: BAHO
(14.02.2006 в 14:30)
| | Это же ещё от страницы зависит, если не сложно приведите страницу, которую требуется проверять и адрес, который подлежит проверке? | |
|
|
|
|
|
|
|
для: cheops
(14.02.2006 в 14:45)
| | вы меня наверное неправильно поняли...
мне нужно составить регулярное выражение, под которое бы попадали адреса типа http://www.softtime.ru http://www.softtime.ru/forum http://www.softtime.ru/info и т.п.
как видно, везде здесь есть элемент "http://www.softtime.ru", являющийся переменной $http.
вот и нужно, чтобы используя переменную $http попадали под рег.выражение все адреса вышеуказанные | |
|
|
|
|
|
|
|
для: BAHO
(14.02.2006 в 21:48)
| | cheops, я знаю, Вы здесь! :) | |
|
|
|
|
|
|
|
для: BAHO
(14.02.2006 в 21:48)
| | Да я тут :))), но предыдущий пост совершенно не понял, даже не смог сформулировать никакого наводящего вопроса... | |
|
|
|
|
|
|
|
для: cheops
(15.02.2006 в 22:49)
| | нужно создать регульрное выражение, под которое бы попадали ссылки типа http://www.softtime.ru/
http://www.softtime.ru/forum
http://www.softtime.ru/info
http://www.softtime.ru/php
http://www.softtime.ru/guest.php
и другие...
как видно, везде есть элемент http://www.softtime.ru/(переменная $http)... так что надо что типа "$http[a-zA-Z$&$%&", ну в общем универсальное регулярное выражение,подхоядящее всем ссылкам вышеказанным, учитывая тот факт, что есть в них одинаковый элемент - переменная $http | |
|
|
|
|
|
|
|
для: BAHO
(16.02.2006 в 10:59)
| | Правильно ли я понял, что ссылки должны удовлетворять
http://www.softtime.ru/*
где вместо * может быть имя файла или директории? Может тогда вместо
"|<a[\s]+href=\"$http\"|is"
|
использовать
"|<a[\s]+href=\"$http|is"
|
| |
|
|
|