Если вы хотите использовать что-то на стороне клиента для интерпретации BBCode, я написал расширяемый синтаксический анализатор BBCode на JavaScript .
В нем есть все стандартные теги BBCode, но если вашей системе обмена сообщениями нужны некоторые новые теги для определенных видов манипулирования URL-адресами, их можно легко добавить. Например, для тега смайлики вы можете расширить его следующим образом:
"smiley": {
openTag: function(params,content) {
if (content === ":)") {
return "<img src='smiley.png'/>";
} else if (content === ":(") {
return "<img src='frown.png'/>";
} else {
return "";
}
},
closeTag: function(params,content) {
return "";
}
}
И тогда BBCode будет выглядеть примерно так:
[smiley]:)[/smiley]
И HTML-код, который он сгенерирует из этого, будет выглядеть так:
<img src='smiley.png'/>
Это может быть больше работы, чем вы хотите, и вы можете не захотеть использовать свои собственные пользовательские теги для вашей системы обмена сообщениями, но я решил упомянуть об этом на всякий случай.