поиск слова и вставка после него кода

vikadin

Новичок
Добрый день. Поплась мне в руки кмс одна кривенькая, пришслось разбираться в php =)

Помогите советов, как осуществить мою идею.

Смысл в том, есть шаблон такой

Тема
Вопрос
Ответ

т.е. на странице написана тема, под этой темой идут вопросы-ответы, относящиеся к этой теме. Тем несколько.

Есть тема $as_List, вопрос $as_Question, ну и ответ $as_Answer
как написать регуляку, или как-то по-другому, чтобы это все кидало на странице в правильном порядке.

Т.е. если я добавлю
PHP:
<div class='mу_class'>
<h3>$as_List</h3><br>
<table width='100%' cellspacing='3' cellpadding='5' border='0'>
<tbody><tr><td class='col_3' valign='top'>Вопрос</td>
<td class='col_4'>$as_Question</td></tr>
<tr><td class='col_1' valign='top'>Ответ</td>
<td class='col_2'>$as_Answer</td></tr></tbody></table></div>
то при каждом добавлении оно, что и следовало ожидать, добавлени и само название темы, поэтому может быть добавлено несколько одинаковых тем с 1 вопросом, а надо чтобы этот вопрос с существующем темой, просто был добавлен к другим вопросам этой темы.

Пробовал так
PHP:
if (preg_match("/Тема/", $as_List)) {
echo"
<div class = 'mу_class'>
<table width='100%' cellspacing='3' cellpadding='5' border='0'>
<tbody><tr><td class='col_3' valign='top'>Вопрос</td>
<td class='col_4'>$as_Question</td></tr>
<tr><td class='col_1' valign='top'>Ответ</td>
<td class='col_2'>$as_Answer</td></tr></tbody></table></div>";
 }
Но даже не выполняется, просто пусто, скорее всего, проблема в синтаксисе.

Может кто помочь? В двух словах, получается надо осуществить поиск слова, и если найден вставить сразу код или поиск тегов с этим словом..
Ну в общем буду благодарен всем.
Спасибо.
 

scorpion-ds

Новичок
Если у вас есть контроль над CMS, то я не вижу причины решать ваш вопрос таким сложным и не надежным подходом, лучше разберитесь в технологии работы самого движка, тогда сможете разобраться как настроить вывод.
 

vikadin

Новичок
в том то и дело, что это кмс, очень кривой кмс, попросили доделать сайт, а тут проблема на проблеме с кмс)
приходится делать именно так
 

fixxxer

К.О.
Партнер клуба
Есть подозрение, что проблема не в том, что CMS-ка кривая (или не кривая), а в том, что вы не разобрались с ней.
 

vikadin

Новичок
ну судя по тому, что там даже шаблон разъезжается при изменении разрешения экрана, да и зачем вообще делают кмс? правильно - чтобы облегчить работу, а не набирать тот же самый код в специальном окошке) я этот код наберу и в блокноте) смысл этой кмс, если все руками долбить)

вообще разговор не про кмс, а как осуществить поиск слова на странице, а после нахождения - добавление кода после него

пробовал это
PHP:
".preg_replace("/$as_List/", "<h3>$as_List</h3><br><table width=\"100%\" cellspacing=\"3\" cellpadding=\"5\" border=\"0\">
<tbody><tr><td class=\"col_3\" valign=\"top\">Вопрос</td>
<td class=\"col_4\">$as_Question</td></tr>
<tr><td class=\"col_1\" valign=\"top\">Ответ</td>
<td class=\"col_2\">$as_Answer</td></tr></tbody></table>", $as_List)."
$as_List - название темы
$as_Question - вопрос
$as_Answer - ответ

так вот, если $as_List уже есть такой же на странице, нужно чтобы $as_Question и $as_Answer были под ней, а не отдельно новая $as_List, $as_Question, $as_Answer

Например:

БМВ
вопрос - сколько лет машине
ответ - 15 лет

вопрос - какой мотор?
ответ - 2.5 литра

Хонда
вопрос - да?
ответ - нет
а не вот так

БМВ
вопрос - сколько лет машине
ответ - 15 лет

БМВ
вопрос - какой мотор?
ответ - 2.5 литра

Хонда
вопрос - да?
ответ - нет
 

SOKOJI

Новичок
У вас массив этих значений или как?
В 1м цикле у вас выводится название темы, во вложенном цикле вопрос-ответ по этой теме (все вопросы и все ответы). Тогда и получится так, как вам надо.
 

vikadin

Новичок
не, нету массива, там просто форма, где заполняются эти данные, вот надо сформировать код, чтобы все работало)
SOKOJI, можете показать как надо? буду благодарен, спасибо
 

SOKOJI

Новичок
Так формируйте массив с данными из формы:
PHP:
array('тема' => array('массив вопросов'), 'тема2' => array('массив вопросов'), ...)
 
Сверху