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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: выдернуть значение из HTML-кода

Сообщения:  [1-10]   [11-13] 

 
 автор: Trianon   (12.10.2006 в 16:44)   письмо автору
 
   для: Mirage   (12.10.2006 в 16:18)
 


<?php
{
     
$from preg_quote('</tr></td></table>

     '
,'#'); $to preg_quote('
     <center>'
,'#');
     
$text='--
</tr></td></table>

регулярные выражения изучаю всего второй день :)
есть файл

<center>
----
</tr></td></table>

ЕШЕ РАЗ БЛАГАДАРЕН ТЕБЕ CHEOPS

<center>
----
</tr></td></table>

и еще один вопрос как можно добавить пустую запись в массив если между тегами ничего нет

<center>
--'
;

    
preg_match_all("#$from([\s\S]*)$to#U"$text$resPREG_SET_ORDER);
    foreach(
$res as $n => $v$res[$n] = $res[$n][1];

    echo 
'<pre>';    print_r($res);

}
?>

   
 
 автор: cheops   (12.10.2006 в 16:29)   письмо автору
 
   для: Mirage   (12.10.2006 в 16:18)
 

Можно поступить следующим образом
<?php   
  $text 
file_get_contents("имя_файла.html");;   
  
$pattern "|</tr></td></table>[\s]+(.*?)<center>|is";  
  
preg_match_all($pattern$text$out);  
  echo 
"<pre>"
  echo 
$out[1];  
  echo 
"</pre>"
?>

PS Под новые вопросы, лучше заводить новые темы.

   
 
 автор: Mirage   (12.10.2006 в 16:18)   письмо автору
 
   для: Mirage   (12.10.2006 в 10:56)
 

черт возми проблема за проблемой
регулярные выражения изучаю всего второй день :)
есть файл

</tr></td></table>

Предельная частота вращения подшипников, приведенная в каталоге соответствует классу точности 0. Класс точности 5 позволяет повысить скорость шариковых радиальных и радиально-упорных подшипников, а также радиальных роликоподшипников с короткими цилиндрическими роликами в 1,5 раза, класс 4 - в 2 раза. Для радиально-упорных подшипников с коническими роликами, а также упорных шарикоподшипников с коническими роликами, а также упорных шарикоподшипников класс точности 5 позволяет повысить скорость в 1,1 раза, а класс точности 4 - в 1,2 раза.
<center>

значит последовательность такая сначало обязательно идет
строка со значением </tr></td></table>
потом пустая строка
потом то что мне нужно выташить (выделенно жырным)
затем строка <center>
помогите написать регулярное выражение

   
 
 автор: Mirage   (12.10.2006 в 10:56)   письмо автору
 
   для: victoor   (11.10.2006 в 18:33)
 

ЕШЕ РАЗ БЛАГАДАРЕН ТЕБЕ CHEOPS

   
 
 автор: cheops   (11.10.2006 в 22:18)   письмо автору
 
   для: Mirage   (11.10.2006 в 17:38)
 

Лучше в массив записать дубликаты, а потом почистить его содержимое при помощи функции array_unique().

   
 
 автор: Mirage   (11.10.2006 в 19:25)   письмо автору
 
   для: Mirage   (11.10.2006 в 17:38)
 

и еще один вопрос как можно добавить пустую запись в массив если между тегами ничего нет
пример <td></td>

   
 
 автор: victoor   (11.10.2006 в 18:33)   письмо автору
 
   для: cheops   (11.10.2006 в 13:41)
 

Спасибо, работает

   
 
 автор: Mirage   (11.10.2006 в 17:38)   письмо автору
 
   для: cheops   (11.10.2006 в 13:41)
 

спасибо все работает
но только вот один вопрос как исключить дубликаты (т.е что бы с помошью функции preg_match_all в массив не записывались одинаковые данные)

   
 
 автор: cheops   (11.10.2006 в 13:41)   письмо автору
 
   для: victoor   (11.10.2006 в 13:29)
 

В этом случае вместо функции preg_match() используют preg_match_all()
<?php  
  $text 
file_get_contents("имя_файла.html");;  
  
$pattern "|<font[^>]+black\">(.*?)&nbsp;&nbsp;</td>|is"
  
preg_match_all($pattern$text$out); 
  echo 
"<pre>";
  echo 
$out[1]; 
  echo 
"</pre>";
?>

   
 
 автор: victoor   (11.10.2006 в 13:29)   письмо автору
 
   для: cheops   (11.10.2006 в 12:55)
 

а как поступить, если этих вхождений может быть несколько и все надо сохранить в массив?

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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