zuxel
Новичок
текст+теги на две колонки
Понадобилось решить задачу разбивки текста на две колонки, сложность в том, что контент выводится CMS, куда забивается через WYSING редактор, т.е. после того как пользователь заканчивает редактировать текст, то к нему чаще всего добавляет ся какое-то форматировние, т.е. теги. На первое время сделал деление таким образом:
т.е. он просто делится пополам, проблема в том, что такой способ не умеет различать форматирование и легко может разнести к примеру
<span style="color:red;"></span>
на
<td><span </td>
и
<td>style="color:red;"></span> </td>
Можно, конечно, после середины пробегаться по строке и заканчивать первую колонку после первого встреченного закрывающего тега, но если теги будут большой вложенности? Может есть мысли как реализовать такую разбивку?
Понадобилось решить задачу разбивки текста на две колонки, сложность в том, что контент выводится CMS, куда забивается через WYSING редактор, т.е. после того как пользователь заканчивает редактировать текст, то к нему чаще всего добавляет ся какое-то форматировние, т.е. теги. На первое время сделал деление таким образом:
PHP:
$text= $row->text;
$l = intval( strlen( $text ) / 2 + strlen( $text ) * 0.02 );
$text = ereg_replace("[\r\n]"," ",$text);
preg_match_all("/(.{1,$l})[ \n\r\t]+/", $text, $ok);
$row->text = "
<table border=\"0\" >
<tr>
<td valign=\"top\" width=\"40%\" style=\"padding-right: 40px;\">{$ok[1][0]}</td>
<td valign=\"top\" width=\"40%\" style=\"padding-right: 40px;\">{$ok[1][1]}</td>
</tr>
</table>
";
<span style="color:red;"></span>
на
<td><span </td>
и
<td>style="color:red;"></span> </td>
Можно, конечно, после середины пробегаться по строке и заканчивать первую колонку после первого встреченного закрывающего тега, но если теги будут большой вложенности? Может есть мысли как реализовать такую разбивку?