|
|
|
|
|
для: cheops
(25.01.2006 в 23:45)
| | Вы видимо всё-таки неправильно поняли исходные данные :) Но ничего, тут я сам уже сориентировался. Получилось с таким выражением:
$pattern = "|:dpsm([\d]{1,3}):|is";
|
Спасибо, что поставили на путь истинный ! :) | |
|
|
|
|
|
|
|
для: DDK
(25.01.2006 в 13:24)
| | Можно воспользоваться скриптом
<?php
$text = "Поможите слепить функцию preg_replace так, что бы тексты замены смайлов типа :dpsm1: или :dpsm222: т.е. формат текстов замены такой -
:dpsm7-734: (# - число 0-9, всего чисел после dpsm идёт от одного до трёх)
заменялись на теги ";
//<img src="bla/bla/dpsm###.gif" border="0">
$pattern = "|:dpsm[\d]-([\d]{3}):|is";
echo preg_replace($pattern, "<img src=\"bla/bla/dpsm\\1.gif\" border=\"0\">", $text);
?>
|
\\1 - это первые круглые скобки
\\2 - вторые и т.д.
Если вы их подставляете в строке второго параметра, та часть регулярного выражения, которая соответствует им будет подставлена в строку замены. Здесь \\1 соотвествует ([\d]{3}), т.е. трём цифрам. | |
|
|
|
|
|
|
|
для: DDK
(25.01.2006 в 13:24)
| | Мне главное объясните, как в регулярных выражениях использовать переменные, типа \\1... | |
|
|
|
|
|
|
|
для: DDK
(25.01.2006 в 13:06)
| | Пояснение ситуации: Просто вместо того, что бы создавать вручную массив с текстами замены и путями к смайлам я решил дать формат для имён файлов смайлов типа dpsm#-###.gif, и если в тексте встречается подходящий по формату текст замены, просто заменять его на тег картинки... | |
|
|
|
|
|
|
|
для: cheops
(25.01.2006 в 12:46)
| | Да :) # - этим символом я просто обозначил число... Т.е. в строке ввода текста смайлы вставляются в виде текстов замены, например:
...текст текст :dpsm5: текст...
|
или
...текст текст :dpsm565: текст...
|
Т.е. после dpsm обязательно должно идти число, которое в свою очередь может быть однозначным, двухзначным или трёхзначным (3 или 43 или 543). Если в строке находятся таки подстроки, соответствующие такому формату, то нужно узнать число после dpsm и заменить всю эту подстроку на картинку: <img src="smiles/dopsmiles/dpsm[тут число, которое мы узнали]" border="1"> (квадратные скобки не нужны, конечно же. | |
|
|
|
|
|
|
|
для: DDK
(25.01.2006 в 07:37)
| | Т.е. фрагмент #- удаляется и вместо dpsm#-###.gif пишется dpsm###.gif? | |
|
|
|
|
|
|
| Поможите слепить функцию preg_replace так, что бы тексты замены смайлов типа :dpsm1: или :dpsm222: т.е. формат текстов замены такой -
:dpsm#-###: (# - число 0-9, всего чисел после dpsm идёт от одного до трёх)
| заменялись на теги
<img src="bla/bla/dpsm###.gif" border="0">
|
| |
|
|
|
|