the other syntax you tried cannot work.
let's say you have many different smiles to replace,
since they share a lot of the text
<img src="/chat/smileys/smiley.gif" alt=""/>
where only the smiley part changes, because i guess you keep all the images in the same folder!
i would use a short for the first part (before "smiley"), and another short for the second part.
let's say £$% and %$£
(we must hope these are not already present in the text, but it's unlikely to be)
only in the end i would replace the shorts with what they finally should be.
then, it would be something like this
{.replace|:)|£$%smiley%$£|:-)|£$%smiley%$£|;)|£$%blink%$£|;-)|£$%blink%$£|:D|£$%grin%$£|:-D|£$%grin%$£|£$%|<img src="/chat/smileys/|%$£|.gif" alt=""/>|
here goes your text, and it would be nice it to be contained in a variable, and referenced by the 'var' parameter
/replace.}
replace can replace many things in the same text, and it goes from left to right. so the shorts are replaced as last thing.
this problem lead me to add the parameter 'replace' to macro {.regexp.}
will be available in next version