0

有人可以解释一下为什么一小段代码不起作用吗?

这是给出的错误:

解析错误:语法错误,/var/www/g35003/ 中出现意外的“=”

$img_attributes= style='max-height: 100px; max-width: 100px' . 'alt="'.$product['product_name'].'"';
4

2 回答 2

4

如果这是 PHP 并且您尝试将字符串分配给变量,则字符串周围应该有引号。

在这里,代码的这个特定部分导致错误:

$img_attributes= style='max

在第一个 = 符号之后应该有某种引用。


像这样的东西应该会更好,例如:

$img_attributes= 'style="max-height: 100px; max-width: 100px"'
     . ' alt="' . $product['product_name'] . '"';

作为旁注:也许某种转义可能会有所帮助,对于$product['product_name']部分?以确保它不包含任何会破坏您的标记的 HTML。
htmlspecialchars,例如。

例如,如果您的产品名称以这种方式初始化:

$product['product_name'] = 'my mega "product"';

然后,使用我之前发布的部分代码将为您提供以下输出:

style="max-height: 100px; max-width: 100px" alt="my mega "product""

哪个不太好...

使用htmlspecialchars,像这样:

$img_attributes= 'style="max-height: 100px; max-width: 100px"'
     . ' alt="' . htmlspecialchars($product['product_name']) . '"';

输出将变为:

style="max-height: 100px; max-width: 100px" alt="my mega "product""

至少,它是有效 HTML 的一部分 :-)

于 2009-12-24T16:43:35.233 回答
2

您正在弄乱引号,可能的解决方法:

$img_attributes= "style='max-height: 100px; max-width: 100px'" . 'alt="'.$product['product_name'].'"';
于 2009-12-24T16:43:21.880 回答