WordPress.org

Make WordPress Core

Ticket #6380: 6380.3.diff

File 6380.3.diff, 1.3 KB (added by azaozz, 7 years ago)
  • formatting.php

     
    830830        if ( '' == $text ) { 
    831831                $text = get_the_content(''); 
    832832                $text = apply_filters('the_content', $text); 
     833                $text = strip_all_tags($text); 
    833834                $text = str_replace(']]>', ']]>', $text); 
    834                 $text = strip_tags($text); 
    835835                $excerpt_length = 55; 
    836836                $words = explode(' ', $text, $excerpt_length + 1); 
    837837                if (count($words) > $excerpt_length) { 
     
    14061406        return $str; 
    14071407} 
    14081408 
    1409 ?> 
     1409/* 
     1410 * strip_all_tags() - strip all html and php tags, improved version of strip_tags() 
     1411 *   
     1412 * will remove all tags, including <script> and <style> 
     1413 *  
     1414 * @param string $str The input string that needs stripping of tags 
     1415 * @param string $keep Optional. Keep some tags.  
     1416 *  HTML comments (including the <!--more--> tag), <script>, <style> and php tags are always removed 
     1417 */ 
     1418function strip_all_tags( $str, $keep = '' ) { 
     1419 
     1420        if ( strpos( $str, '<script' ) ) 
     1421                $str = preg_replace( '|<script[^>]*?>.*?</script>|si', '', $str ); 
     1422 
     1423        if ( strpos( $str, '<style' ) ) 
     1424                $str = preg_replace( '|<style[^>]*?>.*?</style>|si', '', $str ); 
     1425 
     1426        return strip_tags( $str, $keep ); 
     1427} 
     1428 
     1429?> 
     1430 No newline at end of file