WordPress.org

Make WordPress Core

Ticket #6380: 6380.3.diff

File 6380.3.diff, 1.3 KB (added by azaozz, 10 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