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

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

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

 

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

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

тема: выдернуть строчку и разбить ее на пункты

Сообщения:  [1-6] 

 
 автор: cheops   (01.09.2011 в 11:06)   письмо автору
 
   для: dirol   (01.09.2011 в 10:57)
 

Если работает, то правильно... тут критерий очень простой, если есть хоть одно регулярное выражение, можно дальше использовать их без ограничений. А вот если их нет, то следует подумать, вводить ли еще один язык в программу или нет. Хотя зачастую регулярные выражения сильно облегчают решение задач. Особенно тех, по которым функциональные языки плачут, как правило, это работа со списками. У вас как раз такая задача, так что с идеологической точки зрения - все чисто и правильно.

  Ответить  
 
 автор: dirol   (01.09.2011 в 10:57)   письмо автору
 
   для: cheops   (31.08.2011 в 15:51)
 

сделал так.

    $namaztime = file_get_contents("http://www.namaztime.ru/");
    preg_match_all("|<div id=\"date\">(.+?)</div>|is", $namaztime, $res);
     $pattern = '/<h3>*[,]</h3>*/"';
     $arr = preg_split('/(<[^>]*[^\/]>)/i', $res[1][0], -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);


как считаете правильно ли вообще?

  Ответить  
 
 автор: cheops   (31.08.2011 в 16:13)   письмо автору
 
   для: f111   (31.08.2011 в 16:06)
 

Речь идет о результате использования регулярного выражения, т.е. фактически о содержимом $res[0] или $res[1].

  Ответить  
 
 автор: f111   (31.08.2011 в 16:06)   письмо автору
 
   для: cheops   (31.08.2011 в 15:51)
 

поясните как можно без РВ, если текст берётся через - file_get_contents();
а ну ка...

  Ответить  
 
 автор: cheops   (31.08.2011 в 15:51)   письмо автору
 
   для: dirol   (31.08.2011 в 13:45)
 

Собственно тут уже можно действовать без регулярных выражений... например, так
<?php
  $text 
'<div id="date"> 

                <h3>31 август 2011 - </h3> 
                <h2>Среда</h2> 
                <h3> - 2 шавваль 1432</h3> 
            </div>'
;
  
$arr explode("\r\n"strip_tags($text));
  foreach(
$arr as $key => $value)
  {
    
$arr[$key] = trim($arr[$key]);
    if(empty(
$arr[$key])) unset($arr[$key]);
  }
  echo 
"<pre>";
  
print_r($arr);
  echo 
"<pre>";
?>

  Ответить  
 
 автор: dirol   (31.08.2011 в 13:45)   письмо автору
 
 

помогите выдернуть правильно стручку

    $namaztime = file_get_contents("http://www.namaztime.ru/");

    preg_match_all("|<div id=\"date\">(.+?)</div>|is", $namaztime, $res);
    print_r ($res);


и разбить ее на пункты

<div id="date">

                <h3>31 август 2011 - </h3>
                <h2>Среда</h2>
                <h3> - 2 шавваль 1432</h3>
            </div>


как разбить строчки?

  Ответить  

Сообщения:  [1-6] 

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

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