복붙노트

PHP 문자열에서 모든 html 태그를 제거하십시오.

PHP

PHP 문자열에서 모든 html 태그를 제거하십시오.

데이터베이스 항목의 처음 110자를 표시하려고합니다. 꽤 쉬운 지금까지 :

<?php echo substr($row_get_Business['business_description'],0,110) . "..."; ?>

그러나 위의 항목에는 클라이언트가 입력 한 html 코드가 들어 있습니다. 따라서 다음과 같이 표시됩니다.

<p class="Body1"><strong><span style="text-decoration: underline;">Ref no:</span></strong> 30001<strong></stro...

분명히 좋지는 않아.

난 그냥 모든 HTML 코드를 스트립하고 싶습니다, 그래서 나는 <과> 사이의 모든 항목을 제거해야합니다. db 항목에서 첫 번째 100자를 표시합니다.

누구 아이디어?

해결법

  1. ==============================

    1.strip_tags 사용

    strip_tags 사용

    $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
    echo strip_tags($text);   //output Test paragraph. Other text
    
    <?php echo substr(strip_tags($row_get_Business['business_description']),0,110) . "..."; ?>
    
  2. ==============================

    2.PHP의 strip_tags () 함수를 사용하십시오.

    PHP의 strip_tags () 함수를 사용하십시오.

    예 :

    $businessDesc = strip_tags($row_get_Business['business_description']);
    $businessDesc = substr($businessDesc, 0, 110);
    
    
    print($businessDesc);
    
  3. ==============================

    3.문자열에 앵커 태그가 포함되어 있고이 태그를 내용과 함께 제거하려는 경우이 방법이 유용 할 것입니다.

    문자열에 앵커 태그가 포함되어 있고이 태그를 내용과 함께 제거하려는 경우이 방법이 유용 할 것입니다.

    $srting = '<a title="" href="/index.html"><b>Some Text</b></a>
    Lorem Ipsum is simply dummy text of the printing and typesetting industry.';
    
    echo strip_tags_content($srting);
    
    function strip_tags_content($text) {
    
        return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
    
     }
    

    산출:

  4. ==============================

    4.이 정규식을 사용하십시오 : / <[^ <] +?> / g

    이 정규식을 사용하십시오 : / <[^ <] +?> / g

    $val = preg_replace('/<[^<]+?>/g', ' ', $row_get_Business['business_description']);
    
    $businessDesc = substr(val,0,110);
    

    당신의 예제에서 머물러 있어야합니다 : 참조 번호 : 30001

  5. from https://stackoverflow.com/questions/14684077/remove-all-html-tags-from-php-string by cc-by-sa and MIT license