2014-03-19 3 views
0

strip_tags가 작동하지 않습니다. 실제로 위치, 구문을 변경하려고했는데 일반적으로 작동하지만 여기서는 작동하지 않습니다. 왜? strip_tags가이 예제에서 작동하지 않습니다.

<?PHP 
$sum_string = $row_lastitem['summary']; 
$sum_string = strip_tags($sum_string); 
$sum_string = (strlen($sum_string) > 255) ? substr($sum_string,0,252).'...' : $sum_string; 

$sum_string = nl2br($sum_string); 

echo $sum_string; ?> 

HTML

가 내 오류에

<p>this is a example</p> 
<p>line 2 </p> 

수있는 사람 포인트와 같은 PLS.

심지어이 늘

<?PHP 
    $sum_string = $row_lastitem['summary']; 
    $sum_string = strip_tags($sum_string); 

    echo $sum_string; ?> 
+0

'$ row_lastitem [ 'summary']'의 원래 값은 무엇입니까? 어쩌면'<'대신에'$ lt;'같은 엔티티를 포함하고 있을까요? – Barmar

+0

이 필요할 경우 원래 값은 데이터베이스

이에서 복사 및 붙여 넣기 질문에 존재하는 것은 예를

라인이

답변

0

확인 솔루션을 작동 : 죄송합니다

는 관련에서 발견. Why doesn't strip_tags work in PHP?

html_entity_decode가 필요합니다. 감사합니다.

<?PHP 
$sum_string = $row_lastitem['summary']; 


$sum_string = strip_tags(html_entity_decode($sum_string)); ; 
$sum_string = (strlen($sum_string) > 255) ? substr($sum_string,0,252).'...' : $sum_string; 

$sum_string = nl2br($sum_string); 

echo $sum_string; ?> 
+0

, 그것은 내 의견이 옳았다의 의미 : 데이터베이스 개체가 아닌 원시 HTML 문자가 포함되어 있습니다. – Barmar

+1

이것은 데이터베이스에 삽입하는 코드가'htmlentities()'를 호출한다는 것을 의미합니다. 이것은 대개 디자인이 좋지 않기 때문에 표시 할 때 사용해야하며 저장하지 말아야합니다. – Barmar

+0

감사합니다. 감사합니다. –

관련 문제