HTML-текстовый редактор и контент только для чтения?
Я ищу способ сделать определенные элементы в редакторе форматированного текста HTML доступными только для чтения и недоступными для изменения пользователем. Есть ли способ добиться такого поведения?
Примером редактора форматированного текста, к которому я обращаюсь, будет следующий фрагмент кода:
<html>
<head>
<script type="text/javascript">
var Editor = {
Init: function() {
$("#editor").get()[0].contentWindow.document.designMode = "on";
}
}
$(document).ready(function() { Editor.Init(); });
</script>
</head>
<body>
<iframe id="editor" style="width: 500px; height: 250px;"></iframe>
</body>
</html>
/Тобиас
1 ответ
Я не знаю, поможет ли это вам, но редактор WYSIWYG CKEditor может защитить контент с помощью регулярного выражения:
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html
CKEDITOR.config.protectedSource С: 3.0 Список регулярных выражений, которые должны выполняться над входным HTML, с указанием кода, который должен оставаться нетронутым.
config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // PHP Code
config.protectedSource.push( /<%[\s\S]*?%>/g ); // ASP Code
config.protectedSource.push( /(]+>[\s|\S]*?<\/asp:[^\>]+>)|(]+\/>)/gi ); // ASP.Net Code
Я еще не использовал это сам, но из того, что я слышу на форумах и здесь, на SO, похоже, работает вполне прилично.
Тем не менее, я использовал CKEditor и могу рекомендовать его как один из лучших доступных редакторов WYSIWYG, даже если документация и поддержка сообщества немного скудны, но он все еще очень нов на рынке.