2013-08-13 3 views
0

html 태그를 제거하는 스크립트가 있습니다. 그것은 다음과 같은 경우에 작동 확인 :어떻게 입력에서 부분/잘못된 태그를 제거 할 수 있습니까?

<p>Test</p> 

또는

<p><b>Test</b></p> 

.

function safeStrip($text) { 
    $text = preg_replace('/</', ' <', $text); 
    $text = preg_replace('/>/', '> ', $text); 
    $desc = strip_tags($text); 
    $desc = preg_replace('/ /', ' ', $desc); 
    return $desc; 
} 

는 사용자 유형이

<pTest</p> 

또는

<p Test</p> 

또는

<p>Test/p> 

.... 스크립트 내 문자열을 만들 그러나 경우 : 이것은 내 스크립트입니다 비어 있습니다. 사용자가 html 태그를 입력하면 (완료 또는 완료되지 않은 태그) 스크립트가 식별하고 제거합니다.

+0

정말 이런 종류의 동작을 원하십니까? 전체 태그를 제거하지 않는 이유는 무엇입니까? 누군가가이 문자를 사용하면 불완전한 태그를 제거하면 문제가 발생할 수 있습니다. ">" – Itay

+0

답장을 보내 주셔서 감사합니다. 그러나 고객은 그런 테스트 케이스를 만듭니다. 나는 설명하려고했지만 그는 받아 들일 수 없다. – user1826306

답변

0

이 당신이 HTML 태그를 제거하는 데 도움이 될 것입니다

$text = '<p>Test</p>'; 
echo strip_tags($text); 

이를 사용해보십시오.

0

모든 태그를 제거하려면 strip_tags 가야합니다. 일부만 제거하려면 HTMLPurifier

<pTest</p><p Test</p>에 대한 예상 결과는 무엇입니까?

+0

고맙습니다. 내 경우에는 HTML 태그로 텍스트를 가져와야합니다. – user1826306

관련 문제