【发布时间】:2015-06-04 10:03:31
【问题描述】:
说明:
我有以下代码:
if(isset($riskTriggerFlag) && $riskTriggerFlag==1) // if risk_mitigator process reads and offer weight is maintained based on offer mentioned.
{
echo "Risk Weight: ".$risk_weight ."\n";
$randNo = rand(1,100);
echo "Random Weight: ". $randNo ."\n";
if($randNo < intval(100 - $risk_weight))
{
$flagThrowPostback = 1;
}
}
如你所见,我将\n放在文本中,但在这件事上仍然是打印出来的消息:
Risk Weight: 20 Random Weight: 20
我做错了什么?
注意:
我不能使用 br 标记 或 nl2br() 因为整个页面只是一个 php 页面,而我没有想要添加任何 html 标签。
浏览器上的输出如下:
<html>
<head></head>
<body>Multiple row Risk Weight: 20 Random Weight: 20 </body>
</html>
【问题讨论】:
-
PHP_EOL应该可以正常工作。 -
所以当你在浏览器中查看输出时,你必须使用
br标签。或者你把你的输出放到pre标签中,然后你可以使用你的\n -
我认为更好的方法是检查 php 文件是从 CLI 还是浏览器执行的。如果它来自浏览器,则使用
else newline. -
@Saswat 在您使用
\n之前,您有echo "<pre>";吗? -
我们无法从您最初的问题中猜到这一点...我的建议现在您已经解释了这一点,如果您不想要任何额外的标签(甚至是
<pre>),那就去吧对于基于this one 的javascript 解决方案,仅针对特定父项中包含的文本,例如可以基于css 类进行过滤。例如,您还可以在 PHP 中使用由某些查询字符串参数激活的标志来选择“测试模式”,这将在测试模式下运行时有条件地添加一些nl2br()calls
标签: php