Replace на javascript - CodeHelper

Replace на javascript

0

Как правильнее решить на javascript следующую задачу: заменить все строки вида

[*Какой-то текст*]

на

<div>Какой-то текст</div>

Поправка. Два действия замены

var str = str.replace(/\[\*/g, "<div>");
var str = str.replace(/\*\]/g, "</div>");

не подходят, потому что может замениться только единичное вхождение («[*» или «*]»). Нужно решение, гарантирующее что будет заменен только текст вида [*Какой-то текст*]

Популярные ответы


0

Ну если не нужно внедрять в DOM, то можно использовать два обычных replace:

var str="[*Текст*]";
var str = str.replace(/\[\*/g, "<div>");
var str = str.replace(/\*\]/g, "</div>");

С учётом поправки:

str.replace(/\[\*([\w\d]*)\*\]/g,"<div>$1</div>")

Но здесь не предусмотрена вложенность и возможно какие-то символы, только сама идея

0

var str = str.replace('['+innerHTML, "<div>"); var str = str.replace(']', "</div>");


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.