繁体   English   中英

如何在页面中将其添加为html

[英]How to add this as html in page

这个数据正在接受ajax调用。 它应该是HTML。 如何在div中将其添加为html? 我认为字符以安全格式返回。 有没有办法通过javascript或php打印它?

       \n     \n\u003Cscript type=\u0022text\/javascript\u0022\u003E\nvar qid =  28;\n\n\u003C
    \/script\u003E   \n\n\u003Ca href=\u0022#\u0022 class=\u0022test\u0022\u003ETest\u003C
    \/a\u003E\n   \n\u003Cdiv class=\u0022findme view view-test-mode view-id-test_mode 
    view-display-id-page view-dom-id-1\u0022\u003E\n        \n  \n  \n      \u003Cdiv 
    class=\u0022questions\u0022\u003E\n    \u003Ch1 class=\u0022question\u0022\u003EWhich of 
    the following proves or disproves a specific act through oral testimony based on 
    information gathered through the witness\u0027s five senses?\u003C\/h1\u003E
\n\t\u003Cdiv class=\u0022options\u0022\u003E\n\t\u003Cinput id=\u00221\u0022type=\u0022radio\u0022 
    name=\u0022answer\u0022  value=\u0022Circumstantial evidence.\u0022 \/\u003ECircumstantial
     evidence.\u003Cbr\/\u003E\u003Cinput id=\u00222\u0022type=\u0022radio\u0022 
    name=\u0022answer\u0022  value=\u0022Corroborative evidence.\u0022 \/\u003ECorroborative 
    evidence.\u003Cbr\/\u003E\u003Cinput id=\u00223\u0022type=\u0022radio\u0022 
    name=\u0022answer\u0022  value=\u0022Direct evidence.\u0022 \/\u003EDirect evidence.\u003Cbr\/\u003E\u003Cinput id=\u00224\u0022type=\u0022radio\u0022 
    name=\u0022answer\u0022  value=\u0022Conclusive evidence.\u0022 \/\u003EConclusive 
    evidence.\u003Cbr\/\u003E\t\n\t\t\n\t\u003C\/div\u003E\n\t       \u003C\/div\u003E\n  \n 
    \n\t\n    \u003Cdiv class=\u0022item-list\u0022\u003E\u003Cul class=\u0022pager\u0022\u003E
    \u003Cli class=\u0022pager-previous first\u0022\u003E\u003Ca href=\u0022\/qengine
    \/test?page=5\u0022 class=\u0022active\u0022\u003E\u2039\u2039\u003C\/a\u003E\u003C
    \/li\u003E\n\u003Cli class=\u0022pager-current\u0022\u003E7 of 29\u003C\/li\u003E
    \n\u003Cli class=\u0022pager-next last\u0022\u003E\u003Ca href=\u0022\/qengine\/test?page=7
    \u0022 class=\u0022active\u0022\u003E\u203a\u203a\u003C\/a\u003E\u003C\/li\u003E\n\u003C
    \/ul\u003E\u003C\/div\u003E\n  \n \n  \n\n  \n  \u003C!--Total: 29done : 7--\u003E\u003Ca 
    href=\u0022#back\u0022 class=\u0022back\u0022\u003EBack\u003C\/a\u003E|\u003Ca 
    href=\u0022#next\u0022 class=\u0022next\u0022\u003ENext\u003C\/a\u003E |  \u003Ca 
    href=\u0022results\u0022 class=\u0022result\u0022\u003EEnd Test \u0026 Show Results\u003C
    \/a\u003E\t\u003Cbr\/\u003E\u003Cbr\/\u003E\n\t\u003Cinput type=\u0022checkbox\u0022 
    name=\u0022mark\u0022 value=\u0022marked\u0022 class=\u0022mark\u0022\/\u003E Mark For 
    Review   \n  \n  \n  \n  \n  \n\u003C\/div\u003E

字符以转义的unicode格式返回。 您可以使用以下功能将其编码为UTF8:

function encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}

例如:

encode_utf8( '\u003Cscript type=\u0022text\/javascript\u0022\u003E' ); -> '<script type="text/javascript">'

为了清理输入字符串(可以将其转换为HTML),您需要做4次搜索/替换(以我的计数),以使其更易于阅读。 没有特别的顺序:

.replace('\n', '')                  // Removes all encoded newline characters
.replace('\t', '')                  // Removes all encoded tab characters
.replace(/(?:\s+)?<(?:\s+)?/g, '<') // Removes any whitespace before or after a tag-start delimiter.
.replace(/(?:\s+)?>(?:\s+)?/g, '>') // Removes any whitespace before or after a tag-stop delimiter.
.replace(/\s+/g, ' ')               // Replaces all instances of whitespace with a single space. Enhances readability.

完成这些操作后,您可以unescape字符串并将其插入文档中的某个位置:

var normalizedData = data.replace('\n', '').replace('\t', '').replace(/(?:\s+)?<(?:\s+)?/g, '<').replace(/(?:\s+)?>(?:\s+)?/g, '>').replace(/\s+/g, ' ');
document.getElementById('someElement').innerHTML = unescape(normalizedData);

工作提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM