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

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

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

 

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

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

тема: Регулярное выражение для ссылки в тэге <a>
 
 автор: 2005   (23.06.2006 в 08:10)   письмо автору
 
 

Подскажите пожалуйста, где ошибка!

ля-ля <a href='MYSITE.ru'>ля-ля
ля-ля <a href="MYSITE.ru'>ля-ля
ля-ля <a href=MYSITE.ru'>ля-ля
ля-ля <a href='http://MYSITE.ru'>ля-ля
ля-ля <a href="http://MYSITE.ru">ля-ля Возможные варианты
ля-ля <a href=http://MYSITE.ru>ля-ля
ля-ля <a href='http://www.MYSITE.ru'>ля-ля
ля-ля <a href="http://www.MYSITE.ru">ля-ля
ля-ля <a href=http://www.MYSITE.ru>ля-ля


$pattern = "/<a[\s]+href=[\'|\"]?[http:\/\/]+[www\.]?MYSITE\.ru/is";

Что я делаю не так???

   
 
 автор: cheops   (23.06.2006 в 11:41)   письмо автору
 
   для: 2005   (23.06.2006 в 08:10)
 

Попробуйте лучше так
<?php
  $text 
"ля-ля <a href='MYSITE.ru'>ля-ля
ля-ля <a href=\"MYSITE.ru'>ля-ля
ля-ля <a href=MYSITE.ru'>ля-ля
ля-ля <a href='http://MYSITE.ru'>ля-ля
ля-ля <a href=\"http://MYSITE.ru\">ля-ля Возможные варианты
ля-ля <a href=http://MYSITE.ru>ля-ля
ля-ля <a href='http://www.MYSITE.ru'>ля-ля
ля-ля <a href=\"http://www.MYSITE.ru\">ля-ля
ля-ля <a href=http://www.MYSITE.ru>ля-ля'"
;
  
$pattern "/<a[\s]+href=(.*)>/isU";
  
preg_match_all($pattern$text$out);
  unset(
$out[0]);
  echo 
"<pre>";
  
print_r($out);
  echo 
"</pre>";
?>

Только кавычки почистить из результата придётся. Или вам требуется обнаружить ссылку именно на конкретный сайт?

   
 
 автор: 2005   (23.06.2006 в 13:07)   письмо автору
 
   для: cheops   (23.06.2006 в 11:41)
 

Большое спасибо.
Вы всегда даете очень обстоятельные ответы - очень приятно!
---

В данном случае да - мне надо проверить на чьей-то странице наличие ссылок на несколько своих сайтов.

странно... вроде со всем разобрался, но у меня почему-то [/s] - не воспринимается, как символ пробела??? Не могу понять почему.
Это может быть связано с особенностями версии php на хостинге?

   
 
 автор: cheops   (23.06.2006 в 15:03)   письмо автору
 
   для: 2005   (23.06.2006 в 13:07)
 

А вместо [/s] следует использовать [\s].

   
 
 автор: Shura   (23.06.2006 в 17:10)   письмо автору
 
   для: 2005   (23.06.2006 в 13:07)
 

смотрю тема дорвеев активно решается при помощи регэкспов на пхп :)

   
Rambler's Top100
вверх

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