Как заставить HTML работать вместо команд show html из базы данных?

Я использую nicEdit.js, и он сохраняет в базе данных, как это:

<div align="center"><i>test</i><br></div><u><br><font size="5"><b>Become part of our team!</b></font><br></u>

Из базы данных я получаю его как $ jobfulldesc.

Это покажет правильно:

<?php
function unhtmlentities ($string) {
$trans_tbl =get_html_translation_table (HTML_ENTITIES );
$trans_tbl =array_flip ($trans_tbl );
return strtr ($string ,$trans_tbl );
}
echo unhtmlentities($jobfulldesc); ?>

Это просто не сработает, если вы попытаетесь добавить nicEdit в свой javascript:

<script type="text/javascript">
bkLib.onDomLoaded(function() {
var myNicEditor = new nicEditor();
myNicEditor.setPanel('myInstance1');

});
</script>
<div id="myInstance1"><?php echo unhtmlentities($jobfulldesc); ?></div>

или внутри:

<textarea><?php echo unhtmlentities($jobfulldesc); ?></textarea>

Как сделать так, чтобы это было видно без формата HTML внутри nicEdit из базы данных?

0

Решение

Вы можете разобрать текст из HTML, используя Javascript только:

function getText(htmlString) {
const virtual = document.createElement('div');
virtual.innerHTML = htmlString;
return virtual.textContent
}

Если предположить, htmlString идет из базы данных и переходит в JavaScript через PHP.

демо:

function getText(htmlString) {
const virtual = document.createElement('div');
virtual.innerHTML = htmlString;
return virtual.textContent
}

const retreivedHtml = `<div align="center"><i>test</i><br></div><u><br><font size="5"><b>Become part of our team!</b></font><br></u>`;

console.log(
getText(retreivedHtml)
)
// inject it in the textarea
document.querySelector('textarea').value= getText(retreivedHtml)
 <textarea></textarea>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]