|
|
|
| Написал вот два таких парсера
// список простой
text = text.replace(/\[list\](.+?)\[\/list\]/ig, '<ul>$1</ul>');
// список нумерованый
text = text.replace(/\[list_num\](.+?)\[\/list_num\]/ig, '<ol>$1</ol>');
// парсер для текста из списка
text = text.replace(/\[\*\](.+?)/ig, '<li>$1</li>');
|
При вводе вот такого текста:
[list]
[*]sdfdsfsd
[*]fsd
[*]sdfsdfs
[/list]
|
выводится коряво, а именно не заменяется лист. И сразу после первой буквы в строке, происходит перенос строки.
При вводи вот такого текста:
[list][*]sdfdsfsd[*]fsd[*]sdfsdfs[/list]
|
лист подменяется, нормально, но после первой буквы каждой строчки, происходит перенос строки. в чём может быть проблема? Что не верно в регулярке? | |
|
|
|
|
|
|
|
для: Diablo_
(12.11.2010 в 23:55)
| | В стандарте указано: "The LI element is an inline element and does not require a closing tag.", что означает - закрывающий тег </LI> не обязателен.
Отсюда:
// список простой
text = text.replace (/\[list\]/ig, '<ul>').replace (/\[\/list\]/ig, '</ul>');
// список нумерованый
text = text.replace (/\[list_num\]/ig, '<ol>').replace (/\[\/list_num\]/ig, '</ol>');
// парсер для текста из списка
text = text.replace(/\[\*\]/ig, '<li>');
|
| |
|
|
|
|
|
|
|
для: АЯ
(13.11.2010 в 01:01)
| | Спасибо большое! Никогда бы не подумал что так делается! | |
|
|
|