2009-09-28 5 views
2

codeigniter에 TinyMCE를 사용하여 콘텐츠 항목을 만들고 있습니다. 그러나 출력 소스는 다음과 같으며 < 및>을 표시하지 않습니다. 대신에 & nbsp;와 같은 HTML 엔티티를 보여줍니다. 및보다 큼;배열에 html_entity_decode를 추가하는 방법은 무엇입니까?

입력 후 관리자가 입력하십시오.

출력은 데이터베이스에서 제공됩니다.

나는 모델에서 탈출했다.하지만 여전히 똑같은 일을한다.

또한 구성 설정이 $ config [ 'global_xss_filtering'] = FALSE입니다.

그래서 html_entity_decode를 추가하고 싶습니다. 그러나 $ page_data는 배열입니다. 배열에는 페이지 항목에 사용되는 id, title, content 및 slug가 있습니다.

아무에게도 제발 어떻게 말해 줄래?


출력 예 :

&lt;p&gt;&lt;img src=&quot;images/icon1.png&quot; border=&quot;0&quot; 
alt=&quot;icon&quot; width=&quot;48&quot; height=&quot;48&quot; /&gt; 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 

모델 번호 :

<?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(); 
} 


... 
... 

} 

?> 

컨트롤러 코드 :

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]); 
    } 
} 
+0

? 데이터베이스 에서요? 아니면보기에서? – Natrium

+0

변환을 억제하는 데주의하십시오. 그것은 당신의 보호를위한 것입니다. –

+0

@Natrium : 데이터베이스에서 왔고 모델을 추가했습니다. @Jonathan : 원래 게시물에 추가 한대로 로그인 한 후 항목이 완료되므로 확인해야합니다. – shin

답변

1

만약 당신이 제대로 당신이 'html_entity_decode'를 전달하고 싶어. 데이터베이스에서 리턴 된 모든 필드에 적용됩니다. 가져 오기 기능에 손쉽게 항목을 추가 할 수 있습니다.

내가 원하는대로해야하는 질문이있는 경우 쉽게 추가 할 수 있습니다. 당신이 결과 집합에 자전거를 피 선호하는 경우

0

, 당신은

array_map() 

의 시설을 사용하고이 같은 작업을 수행 할 수 있습니다

출력에서 ​​오는가
function fetch($slug) 
{ 
    $query = $this->db->query("SELECT * FROM `pages` WHERE `slug` = '$slug'"); 
    return array_map(array($this, decodearray), $query->result_array()); 
} 

function decodearray($myarray){ 
    return html_entity_decode($myarray,ENT_QUOTES); 
} 
관련 문제