Dúfam, že takto upravený text som cez HTML odovzdal JavaScriptu neznamená, že si urobil len $value = str_replace(...) a potom to vložil priamo do HTML <a href='javascript:vloz("$value")'>Adresa</a></td>.
V prípade, že $value = "abc'><script>alert(123)</script>", by výsledok mohol vyzerať takto:
<a href='javascript:vloz("abc\'><script>alert(123)</script>")'>Adresa</a>
Potom by vloženie napr. cookie stealera bolo hračkou.Rovnaký problém existuje, ak to vkladáš priamo do elementu script. Akýkoľvek výskyt reťazca </script> spôsobí ukončenie elementu script. Vtedy treba myslieť aj na to a napr. nahradiť to za </scr" + "ipt>. (Edit: alebo lepšie je použiť escape sekvenciu, napr. \x3c namiesto <.)