|
|
|
| Здравствуйте, уважаемые пользователи форума!
Я сейчас занимаюсь тем, что хочу к чату прикрутить смайлики. В строке сообщения у меня имеется слова вида
Мне необходимо заменить эти слова на
<img src="*****/[номер смайла].gif" alt="" />
|
Подскажите пожалуйста регулярное выражение для осуществления данного действия.
Заранее благодарен.
PS: если в строке несколько раз встречается одна и таже строка нужно заменить всех их, а не только первое вхождение. | |
|
|
|
|
|
|
|
для: p.pavluxa
(19.08.2012 в 18:35)
| | Можно начать отталкиваться от следующего скрипта
<?php
$str = "%[123]%";
$pattern = "|%\[(\d+)\]%|";
echo htmlspecialchars(preg_replace($pattern, "<img src=\"*****/\\1.gif\" alt=\"\" />", $str));
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.08.2012 в 09:13)
| | Спасибо, это конечно мне всё понятно. У меня затруднение только с тем, что как мне во те циферки 123 поставить в 1.gif вместо единицы. Я этого не как не могу понять.
Плюс ко всему это нужно на JavaScript | |
|
|
|
|
|
|
|
для: p.pavluxa
(20.08.2012 в 11:26)
| | Хм... так просто указывайте в тексте %[123]% или %[85]% и у вас вместо этих последовательностей будет автоматически подставляться ссылка на 123.gif или 85.gif... или нужно что-то другое? | |
|
|
|
|
|
|
|
для: p.pavluxa
(20.08.2012 в 11:26)
| | Если в JS, то нужно знать кроме этого еще и в чем будет происходить замена - в строке или в html-элементе.
<p>text %[14]% text %[12]% tex %[23]% text</p>
<script>
//для элемента
var str = document.getElementsByTagName("p");
str[0].innerHTML = str[0].innerHTML.replace(/%\[(\d+)\]%/g,
"<img src=path/nameimg$1.gif />");
//для строки
var str = "text %[14]% text %[12]% tex %[23]% text";
str = str.replace(/%\[(\d+)\]%/g, "<img src=path/nameimg$1.gif />")
</script>
|
| |
|
|
|
|
|
|
|
для: confirm
(20.08.2012 в 15:28)
| | Вот, это именно то что я хотел. Спасибо большое! | |
|
|
|