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

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

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

 

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

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

тема: Требуется вынуть из строки URL
 
 автор: Indemion   (10.09.2007 в 21:23)   письмо автору
 
 

Есть строка:

<?php
$line 
'<td class="user medText">Welcome, <a href="/userlookup.phtml?user=_aollo_">_aollo_</a> <span style="font-weight: normal;">|</span> NP: <a href="/objects.phtml?type=inventory">1,600</a> <span style="font-weight: normal;">|</span> <a href="/logout.phtml"><b>Logout</b></a></td>';
?>


Требуется вынуть из нее все линки. Какую функцию для работы с текстом лучше использовать. Как я понимаю искать можно по начальному тега А (<a href=").

   
 
 автор: bronenos   (10.09.2007 в 22:25)   письмо автору
 
   для: Indemion   (10.09.2007 в 21:23)
 

в форум рег. выражений. я уверен, что там есть такие вопросы и ответы на них

   
 
 автор: cheops   (11.09.2007 в 11:39)   письмо автору
 
   для: Indemion   (10.09.2007 в 21:23)
 

Можно поступить следующим образом
<?php 
  $line 
'<td class="user medText">Welcome, <a href="/userlookup.phtml?user=_aollo_">_aollo_</a> 
           <span style="font-weight: normal;">|</span> NP: <a href="/objects.phtml?type=inventory">1,600</a> 
           <span style="font-weight: normal;">|</span> <a href="/logout.phtml"><b>Logout</b></a></td>'

  
$pattern "|<a href=([^>]+)|is";
  
preg_match_all($pattern$line$out);
  echo 
"<pre>";
  
print_r($out[1]);
  echo 
"</pre>";
?>

   
 
 автор: Indemion   (11.09.2007 в 12:47)   письмо автору
 
   для: cheops   (11.09.2007 в 11:39)
 

Спасибо.
Помогите перевести ваш pattern.
| - эквивалентно ограничителю / ?
i - это игнорировать регистр, а s?
Как я понял часть выражения, то "начать поиск a href= далее найти все до символа >, игнорируя регистр и... учитывая пробелы? Так?

   
 
 автор: Faraon   (11.09.2007 в 13:27)   письмо автору
 
   для: Indemion   (11.09.2007 в 12:47)
 

Про модификаторы вы можете почитать здесь
http://softtime.ru/dic/id_group=3&id_dic=133

   
 
 автор: cheops   (12.09.2007 в 10:54)   письмо автору
 
   для: Indemion   (11.09.2007 в 12:47)
 

Да, | эквивалентен / - в качестве ограничителя можно использовать любой символ.
Модификатор s означает, что искать соответствие регулярному выражению нужно не только на одной строке (т.е. между двумя переводами строк), а во всём тексте, т.е. результат может содержать переводы строк.>Спасибо.

>Как я понял часть выражения, то "начать поиск a href= далее найти все до символа >, игнорируя регистр и... учитывая пробелы? Так?
Да, совершенно верно.

   
Rambler's Top100
вверх

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