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

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

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

 

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

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

тема: Помогите плиз извлечь то, что нужно
 
 автор: Dux   (06.10.2008 в 17:22)   письмо автору
 
 

Имеется исходник:

$source='<a href="http://domen.com" class="more-link">Read</a><a href="http://domen2.com" title="View">View</a><a href="http://domen3.com" title="No">No</a><a href="http://domen4.com" rel="bookmark">Book</a>';


Надо вырезать урл который только перед rel="bookmark"

Такой код выбирает все урлы:
preg_match_all('|<a href="http://(.+[^"])"|iU',$source,$arr);


Но такой, то что нужно, не выбирает:
preg_match_all('|<a href="http://(.+[^"])" rel[^>]+>|iU',$source,$arr);

  Ответить  
 
 автор: AcidTrash   (06.10.2008 в 22:31)   письмо автору
 
   для: Dux   (06.10.2008 в 17:22)
 

Конкретно к вашему примеру
<pre>
<?
$source
='<a href="http://domen.com" class="more-link">Read</a><a href="http://domen2.com" title="View">View</a><a href="http://domen3.com" title="No">No</a><a href="http://domen4.com" rel="bookmark">Book</a>';
preg_match_all('|<a href="http://([^"]+)" rel[^>]+>|i',$source,$arr);
print_r ($arr[1]);
?>

  Ответить  
 
 автор: Dux   (06.10.2008 в 22:54)   письмо автору
 
   для: AcidTrash   (06.10.2008 в 22:31)
 

нет, так пробовал не работает
нашел выход в этом коде
preg_match_all("!<a.*?href=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>!is",$str,$ok);


точнее так :)
preg_match_all('|<a.*?href="?\'?([^ "\'>]+)"?\'?\s?rel.*?>(.*?)</a>|is',$source,$ok)

  Ответить  
 
 автор: AcidTrash   (06.10.2008 в 23:10)   письмо автору
 
   для: Dux   (06.10.2008 в 22:54)
 

>Конкретно к вашему примеру
Комментирую свою фразу.

А нюансов может быть много. Вы же не сказали как может быть.

  Ответить  
Rambler's Top100
вверх

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