bulo4ka
Новичок
В процессе разработки внутренней разметки сайта (на подобие bbcode) столкнулся с проблемой формирования таблиц.
Задумка простая: определенные коды преобразовывать в html.
Все просто, но вот с таблицами и их <tr> и <td> возникла загвоздка.
Например переменная $string такова:
Обрабатывается как:
Cразу видно, что это не правильно и применимо только для обычных тэгов, например для придания тексту жирности, наклонности или подчеркивания.
Использую для этого такой небольшой код:
Загвоздка заключается в том, что как сделать интерпритацию кода в html внутри массива, который получился путем первичного анализа?
Т.е., например имеем переменную $string:
хочется преобразовать ее таким образом, чтобы:
как итог получится:
Вопрос только, что нужно добавить в имеющийся PHP-код, чтобы он работал примерно так?
Задумка простая: определенные коды преобразовывать в html.
Все просто, но вот с таблицами и их <tr> и <td> возникла загвоздка.
Например переменная $string такова:
PHP:
{|
Содержимое таблицы
|}
PHP:
<table>Содержимое таблицы</table>
Использую для этого такой небольшой код:
PHP:
$open_table = preg_match_all('/\{\|/i', $string, $matches);
$close_table = preg_match_all('/\|\}/i', $string, $matches);
$total_tags = ( $open_table>$close_table ? $close_table : $open_table );
if( $total_tags )
{
$string = preg_replace('/\{\|/i', "<table>", $string, $total_tags);
$string = strrev(preg_replace('/\}\|/i', ">elbat/<", strrev($string), $total_tags));
}
return $string;
Т.е., например имеем переменную $string:
PHP:
{|
|-
| первая колонка
| вторая колонка
| третья колонка
|}
PHP:
{| ... |} в <table> ... </table>
|- ... |} или |- ... |- в <tr> ...</tr>
| ... в <td> ... </td>
PHP:
<table>
<tr>
<td>первая колонка</td>
<td>вторая колонка</td>
<td>первая колонка</td>
</tr>
</table>