WordPress.org

Make WordPress Core

Ticket #5678: 5678.r6631.diff

File 5678.r6631.diff, 1.8 KB (added by hansengel, 10 years ago)

Newer patch—adds PHPDoc and renames function to strip_html_newlines.

  • wp-includes/formatting.php

     
    12571257        return $matches[0];
    12581258}
    12591259
     1260/**
     1261 * strip_html_newlines() - Strip unnecessary newlines from HTML code
     1262 *
     1263 * This function removes any unnecessary newlines in HTML
     1264 * code. Useful for cleaning up RSS feeds before import.
     1265 *
     1266 * @since 2.5
     1267 *
     1268 * @param string $text The HTML code to strip newlines from
     1269 * @return string $text with newlines stripped
     1270 */
     1271function strip_html_newlines($text) {
     1272        $textarr = preg_split("/(<[^>]+>)/Us", $text, -1, PREG_SPLIT_DELIM_CAPTURE);
     1273        $stop = count($textarr); $skip = false; $output = ''; // loop stuff
     1274        for ($ci = 0; $ci < $stop; $ci++) {
     1275                $curl = $textarr[$ci];
     1276                if (! $skip && isset($curl{0}) && '<' != $curl{0}) { // If it's not a tag
     1277                        $curl = preg_replace('/[\n\r]+/', ' ', $curl);
     1278                } elseif (strpos($curl, '<code') !== false || strpos($curl, '<pre') !== false || strpos($curl, '<kbd') !== false || strpos($curl, '<style') !== false || strpos($curl, '<script') !== false) {
     1279                        $next = false;
     1280                } else {
     1281                        $next = true;
     1282                }
     1283                $output .= $curl;
     1284        }
     1285        return $output;
     1286}
     1287
    12601288?>
  • wp-admin/import/rss.php

     
    9090                        $post_content = preg_replace('|<(/?[A-Z]+)|e', "'<' . strtolower('$1')", $post_content);
    9191                        $post_content = str_replace('<br>', '<br />', $post_content);
    9292                        $post_content = str_replace('<hr>', '<hr />', $post_content);
     93                        $post_content = strip_html_newlines($post_content);
    9394
    9495                        $post_author = 1;
    9596                        $post_status = 'publish';