Одним из решений будет поиск и замена этих сущностей в теле документа. Пример:
<html>
<head>
<script language="javascript">
window.onload = function(){
var entities = [{entity:"scedil", char:"č"},
{entity:"ccaron", char:"ş"}]; // array of entities to replace
for (var i in entities){
var regex = new RegExp("(\&|\&)"+entities[i].entity+";", "ig");
document.body.innerHTML = document.body.innerHTML.replace(regex, entities[i].char);
}
}
</script>
</head>
<body>
These entities will be replaced: ş and č
</body>
Однако было бы лучше заменить символы соответствующими HTML-объектами. Они будут правильно отображаться во всех стандартных браузерах. Например:
...
var entities = [{entity:"scedil", char:"č"},
{entity:"ccaron", char:"ş"}]; // array of entities to replace
...
Однако, по моему мнению, было бы лучше сделать это на стороне сервера, а не в JavaScript. В этом случае сценарий на стороне сервера будет выполнять те же действия, что и выше, но до того, как клиент получит текст, а не клиент, который сделает это позже. Выполнение этого на стороне сервера предотвратит видимое «исправление» текста после загрузки страницы.