好的,我正在从数据库中提取从以前的表单保存的字体。我的问题是,即使我100%地复制来自bodyfont的echo,它也不会比较,只会掉到else错误语句。到底是什么原因造成的?我有“和”这个事实吗,?任何帮助都会很棒(我必须使用全名arial,“helvetica neue”,helvetica,sans-serif等我正在做的事情。
注:
仅供参考-我有我的连接和所有不是给我一个问题的代码,我可以从数据库中拉,也使用相同的if语句来处理标题字体,但它只是使用单词no,或“in names”。
<?php
echo "$bodyFont";
if ($bodyFont == 'Arial, "Helvetica Neue", Helvetica, sans-serif') {
echo "
1
";
} elseif ($bodyFont == '"Times New Roman", Times, serif') {
echo "
2
";
} else {
echo "<br />error";
}
?>
Ran Var_Dump and got the following:
string(56) "Arial, "Helvetica Neue", Helvetica, sans-serif" - PULLED FROM DATABASE
string(46) "Arial, "Helvetica Neue", Helvetica, sans-serif" - PULLED FROM VAR
56和46。。。如何修复?
<?php
$one = 'Arial, "Helvetica Neue", Helvetica, sans-serif';
$bodyFontstrip = strip_tags($bodyFont);
var_dump($bodyFont);
echo "<br />";
var_dump($one);
if ($bodyFontstrip == $one) {
echo "Arial";
} else {
echo "<br />error";
}
?>
好吧,我知道发生了什么了 $bodyFont
我从服务器上提取的结果是 Arial, "Helvetica Neue", Helvetica, sans-serif
用额外的 "
在里面。我现在必须想办法把它去掉。
为了解决这个问题,我按照下面格鲁皮克劳顿的建议做了,并使用了html\u entity\u decode($bodyfont)。
固定工作代码:
<?php
$one = 'Arial, "Helvetica Neue", Helvetica, sans-serif';
$two = '"Times New Roman", Times, serif';
$bodyFontclean = html_entity_decode($bodyFont);
var_dump($bodyFont);
echo "<br />";
var_dump($one);
echo "<br />";
var_dump($two);
if ($bodyFontclean == $one) {
echo "Arial";
} elseif ($bodyFontclean == $two){
echo "Times";
} else {
echo "error...";
}
?>
1条答案
按热度按时间py49o6xq1#
似乎您已将html编码的值插入到数据库中。别这样。
你应该在输出而不是输入上使用html编码。