Php htmlspecialchars删除格式设置
我在类中的另一个函数中调用htmlspecialchars函数,但是当我这样做时,即使数据显示,它也会删除在一行中显示数据的所有格式 代码如下:Php htmlspecialchars删除格式设置,php,htmlspecialchars,Php,Htmlspecialchars,我在类中的另一个函数中调用htmlspecialchars函数,但是当我这样做时,即使数据显示,它也会删除在一行中显示数据的所有格式 代码如下: class Name { . .. . public function h($s) { echo htmlspecialchars($s, ENT_QUOTES); } public function formatQuotes($row) { return "<p id=\"
class Name {
. .. .
public function h($s)
{
echo htmlspecialchars($s, ENT_QUOTES);
}
public function formatQuotes($row)
{
return "<p id=\"ab_quotes\">" . this->h($row['cQuotes']) . "</p>"
. "<p id=\"ab_author\">" . this->h($row['vAuthor']) . "</p>";
}
}
$row['cQuotes']和Author变量中没有html。实现htmlspecialchars时会删除css格式
我注意到的另一件事是,如果我删除了
entu QUOTES
,它会工作,但再次使用它,它会删除格式。为什么会这样?格式化是什么意思?如果您指的是HTML代码,则htmlspecialchars将用实体替换这些对HTML至关重要的字符:
- “&”(与号)变为“&”
- 未设置ENT_NOQUOTES时,“”(双引号)变为“”
- 只有在设置ENT_QUOTES时,''(单引号)才会变为''''
- ''(大于)变成'>'
当然,所有的格式都不会起作用。这就是htmlspecialchars()的要点。问题可能是函数
h()
需要返回数据,而不是回显数据(取决于您如何使用h()
的结果)请提供一些输入数据的示例。您的$row['cQuotes']
和$row['vauther']
变量?这不是应该发生的方式吗?另外,函数h需要返回数据,而不是回显它不读取html,忽略
和我所做的所有css格式。它只在一行中显示数据,没有任何间距。在不使用面向对象方法的情况下,函数htmlspecialchars可以工作,并显示所有css格式。但是使用类,它不起作用。
p#ab_quotes{
font-size: 22px;
word-wrap: break-word;
position: absolute;
top: 80px;
left: 5px;
padding: 8px 6px;
}
p#ab_author {
font-size: 15px;
position: absolute;
top: 200px;
right: 5px;
padding: 8px 6px;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #EB3B55;
}