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

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

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

 

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

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

тема: получить теги <b> с содержимым
 
 автор: f111   (01.09.2011 в 21:19)   письмо автору
 
 

исходный текст:
<i>Lorem ipsum <b>dolor</b> sit amet, quot principes 
<b>voluptatibus</b> ea mea, meis iriure concludaturque his <b>id</b>. </i>

надо получить:
<b>dolor</b>
<b>voluptatibus</b>
<b>id</b>

а вот как добиться нужного результата не знаю(

P.S. может снова посетит пользователь с ником "....." ))

  Ответить  
 
 автор: cheops   (01.09.2011 в 21:32)   письмо автору
 
   для: f111   (01.09.2011 в 21:19)
 

Можно начать отталкиваться от следующего скрипта
<?php
  $text 
'<i>Lorem ipsum <b>dolor</b> sit amet, '.
          
'quot principes <b>voluptatibus</b> ea mea, '.
          
'meis iriure concludaturque his <b>id</b>. </i>';
  
$pattern "|<b>(.*?)</b>|s";
  
preg_match_all($pattern$text$out);
  echo 
"<pre>";
  
print_r($out[0]);
  echo 
"</pre>";
?>

  Ответить  
 
 автор: f111   (01.09.2011 в 21:35)   письмо автору
 
   для: cheops   (01.09.2011 в 21:32)
 

cheops я бы оттолкнулся, да не получается, так как за пределами тегов <i></i> тоже есть текст.

так что |<i>?</i>|s

P.S. а ведь была мысля что надо уточнить
P.S.S. решить надо используя одну регулярку (иначе я бы не создал тему)

  Ответить  
 
 автор: cheops   (01.09.2011 в 22:02)   письмо автору
 
   для: f111   (01.09.2011 в 21:35)
 

Не обязательно решать задачу при помощи одного регулярного выражения. Вырежте сначала то, что внутри <i></i> и примените к нему приведенный выше скрипт.

  Ответить  
 
 автор: f111   (01.09.2011 в 22:36)   письмо автору
 
   для: cheops   (01.09.2011 в 22:02)
 

Для вас не обязательно, для меня обязательно.
Когда больше одной это не интересно.

Вы ведь разбираетесь в php, apach, sql, html, js, css, flash и в многом другом, а ведь если вас разделить/клонировать, и каждый клон будет знать только одну "область", вы станете менее ценным))
Надеюсь понимаете к чему моё бла-бла)))

Тоже самое и с швейцарским ножом ( хотя х*рня в общем-то, либо у меня подделка была )

  Ответить  
 
 автор: cheops   (01.09.2011 в 22:54)   письмо автору
 
   для: f111   (01.09.2011 в 22:36)
 

>Надеюсь понимаете к чему моё бла-бла)))
Нет.

Тут все очень просто, чем сложнее код - тем больше времени расходуется на его создание и отладку, тем сложнее и дороже в него вносить изменения. С тех пор как время специалиста стало дороже компьютерного времени - скорость работы программиста стала приоритетной задачей. Поэтому профессионалы стараются создавать как можно более простой код и постоянно ругаются на бесконечно плодящиеся php, apach, sql, html, js, css, flash, так как это приводит к трудноконтролируемым "безнадежным" проектам с кучей специалистов, которыми нужно руководить.

Там где вместо одного сложного регулярного выражения можно применить несколько простых, в большинстве случаев используются простые выражения - это приводит к более жизнеспособному коду. Кроме того, регулярные выражения - это довольно ограниченный язык, к нему обязательно прилагается язык высокого уровня (sh, bash, perl, php и т.п.). Более универсальным инструментом для решения таких списочных задач, являются функциональные языки, но они более низкоуровневые по сравнению с регулярными выражениями на этом классе задач. Поэтому использовать регулярные выражения в качестве универсального инструмента - плохая затея - лучше уж сразу решать задачу при помощи функционального языка. Хотя в области обработки естественного текста регулярные выражения наиболее сильный инструмент (собственно их для этого и разрабатывали, это часть мозаики AI).

  Ответить  
 
 автор: f111   (02.09.2011 в 00:37)   письмо автору
 
   для: cheops   (01.09.2011 в 22:54)
 

согласен, но в данном случае важно решение, а не оптимальность.

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

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