2015-07-15 1 views
2

J'essaie de produire directement du HTML stocké dans ma base de données MySQL en HTML, mais le navigateur le rend en texte brut. Je travaille dans OpenCart, donc je ne suis pas sûr s'il y a des références dans d'autres pages qui peuvent affecter mon code.Écho des balises HTML de la variable PHP correctement dans OpenCart

C'est là que je suis en train de définir la variable du tableau 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']; 

C'est là que je me fais l'écho de la variable

<div class="brand_description"><?php echo $brand_blurb; ?></div> 

Savez-vous ce que je pourrais faire mal? Je suis encore nouveau à PHP donc j'apprécie l'aide.

Merci

Répondre

3

Vous déclarez $data['brand_blurb'] mais vous écho $brand_blurb. Changez l'un des deux.
donc soit:

$brand_blurb = $manufacturer_info['blurb']; 

ou:

<div class="brand_description"><?php echo $data['brand_blurb']; ?></div> 

EDIT:

Peut-être pour une raison quelconque les caractères sont convertis en nombres d'entités freeformatter.com.
par exemple <h1>testing</h1> =>&lt;h1&gt;testing&lt;&#47;h1&gt;

Effectuez les opérations suivantes, html_entity_decode()php.net

<div class="brand_description"><?php echo html_entity_decode($data['brand_blurb']); ?></div> 
+0

Merci, je l'ai essayé (les deux semblent fonctionner très bien) mais le HTML est toujours rendu en texte brut. Les tags nous montrent en texte brut, ils ne sont pas rendus en HTML. – Syn

+1

Edited ma réponse – PHPhil

+0

Spot on, qui a résolu le problème! Merci beaucoup Phil – Syn