>백엔드 개발 >PHP 튜토리얼 >여러 HTML 태그를 유지하는 PHP Strip_tags 정보

여러 HTML 태그를 유지하는 PHP Strip_tags 정보

不言
不言원래의
2018-06-14 09:28:192304검색

이 글에서는 주로 여러 HTML 태그를 유지하는 PHP Strip_tags 방법을 소개합니다. 필요한 친구는 참고할 수 있습니다.

이 글에서는 여러 HTML 태그를 유지하는 PHP Strip_tags 기능 방법을 소개합니다. 두 번째 매개변수를 사용하여 설정할 수 있습니다. 삭제 없이, 주로 Strip_tags의 두 번째 매개변수와 관련됨

구문 string Strip_tags ( string str [, string allowed_tags] )

두 번째 매개변수를 사용하여 문자열을 반환합니다. 삭제할 필요가 없는 태그를 설정하세요.


사용법:

전제: HTML 태그를 유지하지 않고

$str = "<p>我来自<b><a href=&#39;//www.php.cn&#39;>php中文网</a></b></p>";

1과 같은 문자열이 있는 경우 코드는 다음과 같습니다.

echo strip_tags($str); 
// 输出:我来自php中文网

2, 3499910bf9dac5ae3c52d5ede7383485 태그만 유지된 경우 3499910bf9dac5ae3c52d5ede7383485 문자열을 Strip_tags의 두 번째 매개변수인

echo strip_tags($str, "<a>"); 
// 输出:我来自<a href=&#39;//www.php.cn&#39;>php中文网</a>

3에 작성하세요. e388a4556c0f65e1904146cc1a846bee 및 a4b561c25d9afb9ac8dc4d70affff419...의 여러 태그를 유지하려면 여러 태그를 공백으로 구분하고 작성하면 됩니다.

echo strip_tags($str, "<p> <b>"); 
// 输出:<p>我来自<b>php中文网</b></p>


php를 사용하여 html 태그에서 특정 태그를 제거하려면 어떻게 해야 할까요?

이를 구현하려면 다음과 같은 코드가 필요합니다.

function strip_selected_tags($text, $tags = array()) {
  $args = func_get_args();
  $text = array_shift($args);
  $tags = func_num_args() > 2 ? array_diff($args, array($text)) : (array) $tags;
  foreach($tags as $tag) {
    if (preg_match_all(&#39;/<&#39;.$tag.
        &#39;[^>]*>([^<]*)</&#39;.$tag.
        &#39;>/iu&#39;, $text, $found)) {
      $text = str_replace($found[0], $found[1], $text);
    }
  }

  return preg_replace(&#39;/(<(&#39;.join(&#39;|&#39;, $tags).
    &#39;)( | |.)*/>)/iu&#39;, &#39;&#39;, $text);
}

$str = "[url="] 123[/url]";
    echo strip_selected_tags($str, array(&#39;b&#39;));

위 내용은 이 글의 전체 내용입니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 주목하세요.

관련 권장사항:

php


에서 HTML 엔터티 이스케이프를 구현하려면 html_entity_decode를 사용하세요.

위 내용은 여러 HTML 태그를 유지하는 PHP Strip_tags 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.