|
|
|
| Нужно, чтобы текст:
превращался в
<ul>
<li>текст</li>
<li>ещё</li>
<li>и ещё</li>
</ul>
|
И тоже самое, но с числовым списком:
Вообщем, как в Википедии )
Из-за чего я сам не могу, так это потому, что не понимаю, как понять в регулярном выражении, где текст-список начинается, чтобы поставить <ul> и где кончается, чтобы поставить </ul>.
Спасибо. | |
|
|
|
|
|
|
|
для: Maxam
(09.05.2010 в 16:49)
| | Всё должна делать лишь одна регулярка? Допустимы циклы и т.д ? | |
|
|
|
|
|
|
|
для: Tonik992
(10.05.2010 в 09:09)
| | Да всё что угодно. | |
|
|
|
|
|
|
|
для: Maxam
(09.05.2010 в 16:49)
| | Зачем именно, как в Википедии?
Почему бы не сделать так:
[list]
* пункт 1
* пункт 2
[/list]
Так <ul> и </ul> вы уже быстро найдете, а заодно и место, где надо искать пункты списка.
Что на счет критерия, то, очевидно, если * находится на новой строке, то за * пункт списка. | |
|
|
|
|
|
|
|
для: neadekvat
(10.05.2010 в 21:25)
| | Потому что так человеку проще! | |
|
|
|
|
|
|
|
для: Maxam
(10.05.2010 в 22:20)
| | Человеку проще в WYSIWYG | |
|
|
|
|
|
|
|
для: Maxam
(10.05.2010 в 22:20)
| | Ой не аргумент.
Иному человеку проще к компьютеру вообще не подходить... | |
|
|
|
|
|
|
|
для: Trianon
(10.05.2010 в 23:54)
| | Нужно знать границу между пониманием программиста и обычного пользователя - не забываем, программисты! | |
|
|
|
|
|
|
|
для: Maxam
(11.05.2010 в 08:24)
| |
function to2() {
$text = "* Текст1
* Второй текст
* Третий текст
* четвертый текст
44----
Всё еще четвертый текст
* пятый текст";
preg_match_all("/\*{1}\040{0,1}([^\*]+)/",$text,$matches);
echo "<ul>\n";
for($i=0;$i<count($matches['1']);$i++) {
echo "<li>". $matches['1'][$i] ."</li>\n";
}
echo "</ul>\n";
}
to2();
|
Вот собственно код.. Создает новый элемент списка при виде значка *.. То есть
* Текст1
* текст2 * текст2.1
* текст 3
преобразует в список с четырьмя а не тремя элементами... Так устроит?
Удаляет 1 символ пробела после *, если есть..
А текст, что в коде, преобразует в "наверное тебе нужный результат":
<ul>
<li>Текст1
</li>
<li>Второй текст
</li>
<li>Третий текст
</li>
<li>четвертый текст
44----
Всё еще четвертый текст
</li>
<li>пятый текст</li>
</ul>
|
| |
|
|
|
|
|
|
|
для: Tonik992
(11.05.2010 в 23:09)
| | Спасибо громадное, особенно за ответ по существу! | |
|
|
|
|
|
|
|
для: Maxam
(11.05.2010 в 08:24)
| | Вам уже ответил neaadekvat - обычному человеку проще в экранном редакторе, а не потоковом.
Вы же полудохлыми моделями провоцируете создание полудохлого кода. | |
|
|
|
|
|
|
|
для: Trianon
(12.05.2010 в 01:03)
| | Я в WYSIWYG щас не разберусь. Может быть потом, но щас - не понимаю устройства. Пока так сделаю, немного по-старинке ) | |
|
|
|
|
|
|
|
для: Maxam
(09.05.2010 в 16:49)
| | голову себе не забивайте в след раз регуляркой ...
$sting_array = explode("\n", $text);
дальше
echo "<ul>"
for ...........
echo "</ul>" | |
|
|
|
|
|
|
|
для: imustang
(12.05.2010 в 13:58)
| | А если я делаю так:
- Пункт списка
Пояснение к этому пункту списка.
Возможно, какие-то дополнения
- Следующий пункт списка. | |
|
|
|