Javascript JS编码HTML标记不起作用
我正在构建一个小应用程序,它将接受用户的HTML输入,并将其转换为PHP电子邮件的可读格式。Javascript JS编码HTML标记不起作用,javascript,php,html,encoding,Javascript,Php,Html,Encoding,我正在构建一个小应用程序,它将接受用户的HTML输入,并将其转换为PHP电子邮件的可读格式。 示例 输入: 有人知道为什么这不起作用吗?这可能是因为您正在使用“append”,它将接收HTML字符串作为参数,并将其作为元素添加到DOM中 您是否尝试过将append()替换为text()?我试着使用一个HTML字符串和文本方法,它在我这方面工作得很好 请注意使用这两种方法时的区别: var line = '<a href="#">foobar</a>'; // strin
示例
输入:
有人知道为什么这不起作用吗?这可能是因为您正在使用“append”,它将接收HTML字符串作为参数,并将其作为元素添加到DOM中 您是否尝试过将append()替换为text()?我试着使用一个HTML字符串和文本方法,它在我这方面工作得很好 请注意使用这两种方法时的区别:
var line = '<a href="#">foobar</a>';
// string
$('#result').text(line+"<br/>");
// OR string with the element's prior text value
var str = $('#result').text();
$('#result').text(str + line + "<br/>");
// element
$('#result').append(line+"<br/>");
var行=”;
//串
$(“#结果”).text(第+行“
”;
//或包含元素先前文本值的字符串
var str=$(“#结果”).text();
$(“#结果”).text(str+line+”
);
//元素
$(“#结果”)。追加(行+”
);
希望这能有所帮助。谢谢:)但是文本不是每次调用时都会替换整个元素的文本吗?是的。查看编辑。您可能只想保存当前的文本值,并将其与文本方法中的新字符串值连接起来。是的,这很简单。谢谢,我来试一试。就是为了这个目的,谢谢。但现在的问题是,
也以文本形式出现,而不是新的一行\n也不起作用。有什么想法吗?一个简单的方法就是$(“#result”).text(line.append(“
”);
<?php
$message = "<html>"
. "<a href='file.ext'>file</a>"
. "</html>";
?>
function convert() {
$("#result").html("<?php<br/>$message = ");
var text = $("#html").val();
text = text.split("\n");
$("#html").val("");
for(var i=0; i<text.length; i++) {
text[i].replace("'","\x27");
text[i].replace('"',"\x27");
text[i].replace("<","\x3C");
text[i].replace(">","\x3E");
if(i<(text.length-1)) {
if(i==0) {
var line = "\x22"+text[i]+"\x22";
$("#result").append(line+"<br/>");
}
else {
var line = ". \x22"+text[i]+"\x22";
$("#result").append(line+"<br/>");
}
}
else {
var line = ". \x22"+text[i]+"\x22";
$("#result").append(line+";<br/>?>");
}
}
}
var line = '<a href="#">foobar</a>';
// string
$('#result').text(line+"<br/>");
// OR string with the element's prior text value
var str = $('#result').text();
$('#result').text(str + line + "<br/>");
// element
$('#result').append(line+"<br/>");