Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Преобразовать текст в массив

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
lex-romanow
Отправлено: 12 Октября, 2016 - 19:38:18
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Сент. 2014  


Помог: 0 раз(а)




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

CODE (html):
скопировать код в буфер обмена
  1. <p>Раздел содержит часто встречающиеся вопросы от клиентов, на которые мы дали исчерпывающие ответы.</p><ul id="question-answer"><li>Первый вопрос<br></li><ul><li>Первый абзац ответа на первый вопрос<br></li><li>Второй абзац ответа на первый вопрос<br></li></ul><li>Второй вопрос</li><ul><li>Первый абзац ответа на второй вопрос</li></ul><li>Третий вопрос<br></li></ul>

CODE (no):
скопировать код в буфер обмена
  1. Array
  2. (
  3.     [0] => Array
  4.         (
  5.             [question] => Первый вопрос
  6.             [answer] => Array
  7.                 (
  8.                     [0] => Первый абзац ответа на первый вопрос
  9.                     [1] => Второй абзац ответа на первый вопрос
  10.                 )
  11.  
  12.         )
  13.  
  14.     [1] => Array
  15.         (
  16.             [question] => Второй вопрос
  17.             [answer] => Array
  18.                 (
  19.                     [0] => Первый абзац ответа на второй вопрос
  20.                 )
  21.  
  22.         )
  23.  
  24.     [2] => Array
  25.         (
  26.             [question] => Третий вопрос
  27.             [answer] => Array
  28.                 (
  29.                 )
  30.  
  31.         )
  32.  
  33. )
 
 Top
ytrewq123
Отправлено: 13 Октября, 2016 - 22:22:30
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Извините регуляркой не помогу. Но посмотрев на ваш текст. Подумал, а почему не попробовать. XML.
Вроде получилось.
Одно но, этот текст по видимому будет меняться динамически, поэтому надо подумать, как с закрывающим тегом корня. Это не тяжело. Просто зависит как у вас пишется. И тег <br/> так, ну это просто поменять в ХТМЛ
А так вроде как заказывали.
Может кто что ещё придумает.

PHP:
скопировать код в буфер обмена
  1.  
  2. $stroka = '<korenj>
  3. <p>Раздел содержит часто встречающиеся вопросы от клиентов, на которые мы дали исчерпывающие ответы.</p>
  4. <ul id="question-answer"><li>Первый вопрос<br/></li><ul>
  5. <li>Первый абзац ответа на первый вопрос<br/></li>
  6. <li>Второй абзац ответа на первый вопрос<br/></li>
  7. </ul>
  8.    <li>Второй вопрос</li>
  9.    <ul><li>Первый абзац ответа на второй вопрос</li></ul>
  10.    <li>Третий вопрос<br/></li></ul></korenj>';
  11.  
  12.    
  13.    
  14.    $xml = simplexml_load_string($stroka);  
  15.  
  16.     for($z=0; $z<count($xml->ul->li); $z++)
  17.    {
  18.      $mass = (array)$xml->ul->ul[$z];
  19.     // if(count($mass === 0)) $mass['li'] = '';
  20.       $otvet[$z]['otvet'] =(array)$mass['li'];
  21.       $f =['vopros'=>(string)$xml->ul->li[$z]];
  22.       $otvet[$z] = array_merge($f,$otvet[$z]);
  23.    }
  24.   echo '<pre>';
  25.  print_r($otvet);
  26.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB