我有一个foreach循环:
echo "<span style=\"" . myCss($value) . "\">lol</span>";
变成(来源):
<span style="">lol</span>color: #999999;background-color: transparent;font-weight:normal;text-decoration: none;<span style="">...
为什么呢?如何防止浏览器?适用于Chrome和Firefox。请注意,它有一个在线的原因,我想通过javascript避免这样做。
答案 0 :(得分:1)
试试这个
echo "<span style='" . myCss($value) . "'>lol</span>";
答案 1 :(得分:1)
如何分离PHP和HTML:
<span style="<?php echo myCss($value); ?>">lol</span>
注意我将PHP封装在引号内,而不是echo
整行。在foreach循环中,它看起来像:
<?php
foreach($array as $key => $value){
?>
<span style="<?php echo myCss($value); ?>">lol</span>
<?php
}
?>
PHP和HTML的这种分离一直是我工作过的标准做法,我个人觉得它更加透明。
答案 2 :(得分:1)
在没有看到你的函数和变量值的情况下,我只假设回显结果中的字符搞乱了html。输出到html时,应始终使用htmlspecialschars()
:
echo "<span style=\"" . htmlspecialschars(myCss($value)) . "\">lol</span>";
虽然你可能会在你的功能中使用它。