好的,所以我从以前的表单中保存的数据库中提取使用了哪种字体。我的问题是,即使我 100% 复制我从 bodyFont 回显的内容,它也不会进行比较,而只是下降到 else 错误声明。这到底是什么原因造成的?难道是我有“和,”的事实吗?任何帮助都会很棒。(我必须使用全名Arial,“Helvetica Neue”,Helvetica,sans-serif ETC 来做我正在做的事情。
笔记:
仅供参考 - 我有我的连接和所有不是给我问题的代码的东西,我可以从数据库中提取并使用相同的 if 语句来处理标题字体,但它只是在名称中使用单词 no 或 " 。
<?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与其中的额外"内容一样。我现在必须想办法删除它。
为了解决这个问题,我按照下面的 GrumpyCrouton 建议做了,并使用了 html_entity_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...";
}
?>