Как остановить Terlerik RadEditor от де-запутывания адресов электронной почты

#telerik #radeditor

#telerik #radeditor

Вопрос:

Я столкнулся с проблемой, когда, если вы вводите запутанный адрес электронной почты в RadEditor, он де-запутывает его.

Вы вводите следующее:

 <a href='amp;#109;amp;#97;iltoamp;#58;Johnamp;#46;DoeJmp;#48;examp;#37;61%amp;#54;Dpleamp;#46;com'>amp;#74;amp;#111;amp;#104;namp;#46;Damp;#111;amp;#101;amp;#64;exaamp;#109;pleamp;#46;amp;#99;oamp;#109;</a>
  

Он преобразует его в:

 <a href="mailto:John.Doe@example.com">John.Doe@example.com</a>
  

Как вы можете помешать элементу управления сделать это?

Заранее спасибо.

Ответ №1:

Я думаю, что это делает браузер (считывает HTML-объекты и преобразует их): https://jsfiddle.net/x1wxpaps / так что я сомневаюсь, что ты сможешь это остановить.

 <div style="border: 2px solid red; width: 300px; height: 300px;" contentEditable="true" id="test">
<a href='amp;#109;amp;#97;iltoamp;#58;Johnamp;#46;DoeJmp;#48;examp;#37;61%amp;#54;Dpleamp;#46;com'>amp;#74;amp;#111;amp;#104;namp;#46;Damp;#111;amp;#101;amp;#64;exaamp;#109;pleamp;#46;amp;#99;oamp;#109;</a>
</div>
<script>
alert(document.getElementById("test").innerHTML)
</script>
  

Комментарии:

1. На самом деле, я считаю, что это контроль… Если вы перейдете в режим просмотра кода и вставьте URL-адрес mailto, он выглядит нормально. Переключитесь на просмотр html, а затем снова переключитесь на просмотр кода. URL-адрес де-запутывается.

2. Режим HTML — это элемент <textarea>, режим разработки — редактируемый элемент <iframe> . Вот почему в примере, который я показал вам выше, используется редактируемый элемент — механизм форматирования текста браузера запускается там и часто изменяет HTML, как только вы его туда помещаете. RadEditor помещает предоставленную вами HTML-строку в редактируемый элемент с помощью JavaScript, но в данном случае это не имеет особого значения.

3. Я отдаю вам должное за правильный ответ на мой вопрос. Спасибо за объяснение. Теперь я должен придумать умный хак, чтобы обойти это. Может быть, небольшое регулярное выражение для определения адресов электронной почты и их запутывания при хранении данных в базе данных. Большое вам спасибо.