如何从数据库中生成 HTML 运行 而不是 show html 命令?
How do you make HTML run instead of show html commands from a database?
我正在使用 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>
如何在nicEdit里面从数据库中看到没有HTML的格式?
您只能使用 Javascript 解析来自 HTML 的文本:
function getText(htmlString) {
const virtual = document.createElement('div');
virtual.innerHTML = htmlString;
return virtual.textContent
}
假设 htmlString
来自数据库并通过 PHP 传递给 javascript。
演示:
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>
我正在使用 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>
如何在nicEdit里面从数据库中看到没有HTML的格式?
您只能使用 Javascript 解析来自 HTML 的文本:
function getText(htmlString) {
const virtual = document.createElement('div');
virtual.innerHTML = htmlString;
return virtual.textContent
}
假设 htmlString
来自数据库并通过 PHP 传递给 javascript。
演示:
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>