在 OpenCart 中正确回显来自 PHP 变量的 HTML 标签
Echo HTML tags from PHP variable correctly in OpenCart
我正在尝试将存储在我的 MySQL 数据库中的 HTML 直接输出为 HTML,但浏览器将其呈现为纯文本。
我在 OpenCart 中工作,所以我不确定其他页面中是否有可能影响我的代码的引用。
这是我从 MySQL 数组
定义变量的地方
$results = $this->model_catalog_manufacturer->getManufacturers();
foreach ($results as $result) {
if (is_numeric(utf8_substr($result['name'], 0, 1))) {
$key = '0 - 9';
} else {
$key = utf8_substr(utf8_strtoupper($result['name']), 0, 1);
}
if (!isset($data['categories'][$key])) {
$data['categories'][$key]['name'] = $key;
}
$data['categories'][$key]['manufacturer'][] = array(
'name' => $result['name'],
'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']),
'image' => $result['image'],
'banner' => $result['banner'],
'blurb' => $result['blurb'],
);
}
$data['brand_blurb'] = $manufacturer_info['blurb'];
这是我回应变量的地方
<div class="brand_description"><?php echo $brand_blurb; ?></div>
你知道我可能做错了什么吗?我对 PHP 还是个新手,所以非常感谢您的帮助。
谢谢
你声明 $data['brand_blurb']
但你回应 $brand_blurb
。两者换其一。
所以要么:
$brand_blurb = $manufacturer_info['blurb'];
或:
<div class="brand_description"><?php echo $data['brand_blurb']; ?></div>
编辑:
也许由于某种原因,字符被转换为实体编号 freeformatter.com。
例如
<h1>testing</h1>
=> <h1>testing</h1>
尝试以下操作,html_entity_decode()
php.net
<div class="brand_description"><?php echo html_entity_decode($data['brand_blurb']); ?></div>
我正在尝试将存储在我的 MySQL 数据库中的 HTML 直接输出为 HTML,但浏览器将其呈现为纯文本。
我在 OpenCart 中工作,所以我不确定其他页面中是否有可能影响我的代码的引用。
这是我从 MySQL 数组
定义变量的地方$results = $this->model_catalog_manufacturer->getManufacturers();
foreach ($results as $result) {
if (is_numeric(utf8_substr($result['name'], 0, 1))) {
$key = '0 - 9';
} else {
$key = utf8_substr(utf8_strtoupper($result['name']), 0, 1);
}
if (!isset($data['categories'][$key])) {
$data['categories'][$key]['name'] = $key;
}
$data['categories'][$key]['manufacturer'][] = array(
'name' => $result['name'],
'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']),
'image' => $result['image'],
'banner' => $result['banner'],
'blurb' => $result['blurb'],
);
}
$data['brand_blurb'] = $manufacturer_info['blurb'];
这是我回应变量的地方
<div class="brand_description"><?php echo $brand_blurb; ?></div>
你知道我可能做错了什么吗?我对 PHP 还是个新手,所以非常感谢您的帮助。
谢谢
你声明 $data['brand_blurb']
但你回应 $brand_blurb
。两者换其一。
所以要么:
$brand_blurb = $manufacturer_info['blurb'];
或:
<div class="brand_description"><?php echo $data['brand_blurb']; ?></div>
编辑:
也许由于某种原因,字符被转换为实体编号 freeformatter.com。
例如
<h1>testing</h1>
=> <h1>testing</h1>
尝试以下操作,html_entity_decode()
php.net
<div class="brand_description"><?php echo html_entity_decode($data['brand_blurb']); ?></div>