Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript格式化HTML字符串以正确显示_Javascript_Java_Html - Fatal编程技术网

使用Javascript格式化HTML字符串以正确显示

使用Javascript格式化HTML字符串以正确显示,javascript,java,html,Javascript,Java,Html,后端将传递一个字符串,该字符串显示如下: “您好,此通知旨在通知您违反人力资源政策XXXXX。” 这个页面的目的是让你可以轻松地复制粘贴预生成的电子邮件,但是在句子中喷出来一堆html标签是不需要的 该字符串位于id为“textBlock”的内部 后端是带有Oracle DB的Java。我可以在某种程度上编辑java,但我根本无法接触数据库。我使用了控制台来处理字符串,并且在完成编辑后,以任何方式对其进行编辑似乎都能使其正确显示。innerText包含类似于“我的摘要”的标记,innerHTML

后端将传递一个字符串,该字符串显示如下:

“您好,

此通知旨在通知您违反人力资源政策XXXXX。”

这个页面的目的是让你可以轻松地复制粘贴预生成的电子邮件,但是在句子中喷出来一堆html标签是不需要的

该字符串位于id为“textBlock”的内部

后端是带有Oracle DB的Java。我可以在某种程度上编辑java,但我根本无法接触数据库。我使用了控制台来处理字符串,并且在完成编辑后,以任何方式对其进行编辑似乎都能使其正确显示。innerText包含类似于“我的摘要”的标记,innerHTML显示类似于
的标记

到目前为止,我已经尝试为函数指定一个onload属性,该属性调用一个名为formatText()的函数;这就是: temp var=document.getElementById(“textBlock”).innerText; document.getElementById(“textBlock”).innerText=var

以及使用innerHTML而不是innerText的上述函数。我还尝试过使用document.write();最后,我在字符串前面添加了一些随机字符,并尝试使用replace(!@#“,”)函数替换这些字符,以模仿我注意到的“以任何方式编辑它似乎可以使其正确显示”

爪哇

out.println(“!@#”+strTemp+”)

预期:

你好,

本通知旨在通知您违反人力资源政策XXXXX

实际:


您好,

此通知旨在通知您,您违反了人力资源政策XXXXX。
如果我理解正确,您需要的是一些html标签剥离功能。你可以使用正则表达式

var str=“您好,

此通知旨在通知您违反人力资源政策XXXXX。” console.log(str) var str2=str.replace(/]*>?/gm',) console.log(str2)
(在注释中解决,为完整性添加了答案)

当HTML标记在浏览器中可见时,通常使用HTML实体对其进行编码,防止将其解析为HTML。在这种情况下,后处理脚本将
字符替换为实体对应的


禁用这些替换解决了问题。

我希望将标记读取为html,并导致文本格式化,而不仅仅是包含标记的字符串。我已经更新了上面预期的实际vs,以更好地反映this@CasinoRoyale据此编辑。可以吗?任何问题都让我知道字符串中的HTML标记似乎不是真正的HTML标记,而是用实体编码的(
),这些实体使它们看起来像HTML,但不被解析为HTML。您是否检查了源字符串?是否尝试了
document.getElementById(“textBlock”).innerHTML=您从后端获取的字符串@Pantalaimon我找到一个有数据库访问权限的人来检查数据库,他们被存储为
,等等。。。不是作为编码实体。@Enzy我尝试了var placeholder=document.getElementById(“textBlock”);document.getElementById(“textBlock”).innerHTML=placeholder.innerHTML;这应该会产生相同的结果。我还尝试用innerText代替innerHTML,看看这是否会有所不同。两者都不起作用:(@CasinoRoyale)对DB查询的输出是否进行了任何处理,可能会在
输出.println
数据之前对其进行更改?或者您在查询中使用了类似
HTP.ESCAPE\u SC
的过程?