I am making a content entry with TinyMCE in codeigniter. However the output source is like the following and does not show < and >. Instead it shows HTML enties like &lessthan; and &greaterthan; etc.
The entry is made by admin after logged in.
Output comes from database.
I took out escape in model, but it still does the same thing.
Also I have a config setting, $config['global_xss_filtering'] = FALSE;
So I want to add html_entity_decode. But the $page_data is an array. The array has id, title, content and slug which is used for page item.
Could anyone tell me how to do it please?
Output example:
<p><img src="images/icon1.png" border="0"
alt="icon" width="48" height="48" />
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Model code:
<?php
class Pagemodel extends Model
{
....
...
/**
* Return an array of a page — used in the front end
*
* @access public
* @param string
* @return array
*/
function fetch($slug)
{
$query = $this->db->query("SELECT * FROM `pages` WHERE `slug` = '$slug'");
return $query->result_array();
}
...
...
}
?>
Controller code:
function index()
{
$page_slug = $this->uri->segment('2'); // Grab the URI segment
if($page_slug === FALSE)
{
$page_slug = 'home';
}
$page_data = $this->pages->fetch($page_slug); // Pull the page data from the database
if($page_data === FALSE)
{
show_404(); // Show a 404 if no page exists
}
else
{
$this->_view('index', $page_data[0]);
}
}