我环顾了一下stackoverflow,但我找不到解决我问题的答案。我希望我能解释一下,这样你们都能明白我在做什么……(如果需要更多的信息,请告诉我)。
我有一个片段PHP脚本,从会话数组中添加和删除内容。现在这是这个脚本的代码:
<?php foreach ($_SESSION['products'] as $product): ?>
<p style="font-size:1.2rem"><?php echo htmlspecialchars($product); ?></p>
<?php endforeach;?>
使用Javascript,我将此回显到textarea
,并返回值。
$('.my-subject').click(function(){
var title = $(this).attr('value');
$("textarea#thema").html(data);
})
现在它返回的值与HTML标签<p>
…</p>
。我怎么能让它返回值没有HTML标签和在结束换行?我试着使用:
$("textarea#thema").text() + ''n';
但这不起作用,这仍然显示<p>
-标签,没有换行。
我还看到了一些这样的代码:
function removeTags(){
var txt = document.getElementById('myString').value;
var rex = /(<([^>]+)>)/ig;
alert(txt.replace(rex , ""));
}
但我不知道我是否可以使用我的代码和如何做到这一点…任何帮助都会很感激。谢谢。
听起来data
是一个包含<p style="font-size:1.2rem">STUFF HERE</p>
形式标记的字符串,重复,而您只想获得STUFF HERE
部分。
// The data
var data =
'<p style="font-size:1.2rem">First</p>' +
'<p style="font-size:1.2rem">Second</p>' +
'<p style="font-size:1.2rem">Third</p>';
// Parse it
var elements = $.parseHTML(data);
// Convert that to an array of the text of the entries
var entries = elements.map(function(element) {
return $(element).text();
});
// Get a string of the array entries joined with "'n"
var value = entries.join("'n");
// Done!
$("#output").val(value);
<textarea id="output" rows="4"></textarea>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
可以写得更简洁,但为了清晰起见,我将各部分分开。