Regexp для замены смайлов иконками
;D;Dte;Dst ;D;D ;Dtest;D;D
Помогите из этой строки заменить на <img>, только те смайлы, которые я выделил жирным текстом. Я не силен в регулярках, знаю, только самые основы, но их мне не хватает, чтобы справиться с этой задачей. :) Хорошая литература по регуляркам в javascript приветствуется так же! :victory: |
А мож не надо усложнять с двойной вложенностью? Накой она нужна?
Меняй тупо по одному - самый надёжный и простой вариант. str=':D:Dte:Dst (:D)(:D) :Dtest(:D)(:D)(-_-)' alert(str.replace(/\((:D|-_-)\)/g,'<img src="" alt="$1">')) Можно конечно сделать как ты хочешь, но не нужно. |
Цитата:
Исправил первый пост. |
А на каком основании Вы их выделяли? Почему четверное ;D выделено,а первое - нет?
var str = ';D;Dte;Dst ;D;D ;Dtest;D;D'; alert( str.replace(/;D\b/gi, '<img />') ) |
Цитата:
Классно, только как теперь первый смайл запретить, если к нему прилегает какая-то буква или цифра или проще, если после него(их) нету пробела. |
Первый ничем не отличается от четвертого (разве что перед последним стоит пробел).
|
Это сложно сделать? Чтобы заменялись смайлы окруженные пробелом и чтобы заменялись смайлы на концах слов?
|
Beck,
Вариант var str = ";D;Dte;Dst ;D;D ;Dtest;D;D" ; alert(str.replace(/;D(?=(;D)*(\s|$))/gi, '<img />') ) |
Цитата:
Теперь попробую все остальные смайлы подставить в паттерн. Update - Все пашет, пока как надо. +1 к карме, спасибо. ;) |
Часовой пояс GMT +3, время: 17:33. |