Hai ragione ma non era quello, ho sbagliato a scrivere qui, nel codice che usavo era scritto giusto.
Non so se può aiutare ma mi sono accorto che su Safari vengono sostituite correttamente le stringhe che contengono il > ma non quelle che contengono <, mentre su FF né le une né le altre.
Inoltre succede che, solo per le stringhe:
/\s:-?&/g associata all'immagine 1
/\s:-?</g associata all'immagine 2
/\s:-?>/g associata all'immagine 3
viene sostituita un'immagine, ma sempre la 1, seguita dalle scritte, rispettivamente, «amp;» «lt;» «gt;».
Già che ci sono, è possibile far riconoscere due stringhe diverse che iniziano allo stesso modo?
Cioè se voglio sostituire a /\s:-?\)/g un'immagine e a /\s:-?\)\)/g un'altra immagine, come faccio? Adesso come adesso mi viene sempre fuori la stessa immagine del primo caso, però seguita da ) nel secondo caso.
L'unico modo che mi è venuto in mente è usare
/\s:-?\)\s/g
/\s:-?\)\)\s/g
ma non funziona se la stringa si trova a fine frase senza altri spazi dopo.