>백엔드 개발 >PHP 튜토리얼 >문자열의 특정 태그만 필터링하는 PHP의 Strip_tags() 분석 예

문자열의 특정 태그만 필터링하는 PHP의 Strip_tags() 분석 예

黄舟
黄舟원래의
2017-12-04 14:31:442570검색

우리 모두는 php strip_tags() 함수가 문자열에서 html, php 및 xml 태그를 필터링하는 데 사용된다는 것을 알고 있습니다. 이 함수는 원하는 html 태그만 유지할 수 있지만 지정된 html 태그를 필터링할 수는 없습니다. 지정된 HTML 태그를 필터링하는 방법은 무엇입니까? 오늘은 문자열에서 특정 태그만 필터링하는 PHP의 Strip_tags()에 대한 자세한 소개를 안내하겠습니다!

php는 문자열에서 지정된 html 태그를 제거합니다. 이 함수는 원하는 html 태그만 유지할 수 있기 때문에 이 함수를 사용할 수 없습니다.

strip_tags($string); //去掉$string字符串中所以的html标签.
strip_tags($string,&#39;<div><img><em>&#39;); //去掉除了<div><img><em>以外的所有标签,即保留字符串中的div、img、em标签。

지정된 html 태그를 제거하려면 쓰기만 하면 됩니다. 우리 자신 함수, 함수는 다음과 같습니다:

function strip_only_tags($str, $tags, $stripContent = FALSE) { 
  $content = &#39;&#39;; 
 
  if (!is_array($tags)) { 
    $tags = (strpos($str, &#39;>&#39;) !== false ? explode(&#39;>&#39;, str_replace(&#39;<&#39;, &#39;&#39;, $tags)) : array($tags)); 
    if (end($tags) == &#39;&#39;) { 
      // http://www.manongjc.com/article/1213.html
      array_pop($tags); 
    } 
  } 
 
  foreach($tags as $tag) { 
    if ($stripContent) { 
      $content = &#39;(.+<!--&#39;.$tag.&#39;(-->|s[^>]*>)|)&#39;; 
    } 
 
    $str = preg_replace(&#39;#<!--?&#39;.$tag.&#39;(-->|s[^>]*>)&#39;.$content.&#39;#is&#39;, &#39;&#39;, $str); 
  } 
 
  return $str; 
}

매개변수 소개:

$str은 필터링해야 하는 문자열을 나타냅니다.

$tags는 제거할 html 태그를 나타냅니다.

$stripContent는 태그의 콘텐츠를 삭제할지 여부를 나타냅니다. 기본값은 False이며, 이는 태그의 콘텐츠가 삭제되지 않음을 의미합니다.

사용 예:

<?php
$string=&#39;<div><a href="http://www.manongjc.com">码农教程<em>斜体</em></a><strong>加粗</strong></div>&#39;; 
$target = strip_only_tags($string, array(&#39;a&#39;,&#39;em&#39;));//移除$string字符串内的a、em、b标签。 
var_dump($target);
$target = strip_only_tags($string, array(&#39;em&#39;),true); //移除$string字符串内的a、em、b标签,并移除标签里面的内容
var_dump($target);
?>

요약:

친구들이 이 글을 공부했고 문자열에서 특정 태그만 필터링하는 PHP의 Strip_tags()에 대해 어느 정도 이해했다고 생각합니다. 당신의 일에 대해 도움이되었습니다!

관련 추천;

PHP 함수 Strip_tags의 단점에 대한 자세한 설명

PHP 공통 함수 Strip_tags에 대한 자세한 소개

php string string_strip_tags 함수 사용법 요약 ()

위 내용은 문자열의 특정 태그만 필터링하는 PHP의 Strip_tags() 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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