Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: тест ссылок
 
 автор: BAHO   (09.02.2006 в 12:51)   письмо автору
 
 

вот ведь незадача!
как можно реализовать скрипт, который заходил бы на сайт и проверял бы содержимое на присутствие всего одной ссылки в тэге <a></a>? дана всего одна страница, т.е. не надо сканить весь сайт...
есть идейка реализовать всё енто через сокеты, но в какой переменной хранится содержимое запрашиваемой страницы и как с помощью регулярных выражениях найти ссылку? в рег.выражениях я слаб, что не клеится у меня с ними...
HElP

   
 
 автор: cheops   (09.02.2006 в 14:22)   письмо автору
 
   для: BAHO   (09.02.2006 в 12:51)
 

Вы сможете найти решение в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=11335

   
 
 автор: BAHO   (12.02.2006 в 17:56)   письмо автору
 
   для: 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) ничего не выдавалось

   
 
 автор: cheops   (12.02.2006 в 19:13)   письмо автору
 
   для: BAHO   (12.02.2006 в 17:56)
 

Вообще достаточно подставить нужный адрес в $http - как точно выглядит текст ошибки?

   
 
 автор: BAHO   (14.02.2006 в 14:30)   письмо автору
 
   для: cheops   (12.02.2006 в 19:13)
 

да нет, есил это я пробую что намудрить... а так без имзенений ссылки побочные (есть ещё адрес после слеша) ссылки не определяются...
нужно сканить не только ссылки адреса переменной $http, но и что то то вроде $http/gsdgsd.html или $http/shsdfh.php ... переменная $http содержит полный адрес до сайта, но не до определённой страницы, т.е. к примеру $http="http://www.softtime.ru"

   
 
 автор: cheops   (14.02.2006 в 14:45)   письмо автору
 
   для: BAHO   (14.02.2006 в 14:30)
 

Это же ещё от страницы зависит, если не сложно приведите страницу, которую требуется проверять и адрес, который подлежит проверке?

   
 
 автор: BAHO   (14.02.2006 в 21:48)   письмо автору
 
   для: 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   (15.02.2006 в 14:50)   письмо автору
 
   для: BAHO   (14.02.2006 в 21:48)
 

cheops, я знаю, Вы здесь! :)

   
 
 автор: cheops   (15.02.2006 в 22:49)   письмо автору
 
   для: BAHO   (14.02.2006 в 21:48)
 

Да я тут :))), но предыдущий пост совершенно не понял, даже не смог сформулировать никакого наводящего вопроса...

   
 
 автор: BAHO   (16.02.2006 в 10:59)   письмо автору
 
   для: 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

   
 
 автор: cheops   (16.02.2006 в 14:01)   письмо автору
 
   для: BAHO   (16.02.2006 в 10:59)
 

Правильно ли я понял, что ссылки должны удовлетворять
http://www.softtime.ru/*
где вместо * может быть имя файла или директории? Может тогда вместо
"|<a[\s]+href=\"$http\"|is"

использовать
"|<a[\s]+href=\"$http|is"

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования