From b3695a587f3890f9b88bf5f29fa6db50958ca032 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Sun, 6 Jul 2014 08:49:25 +0000 Subject: [PATCH] Exclude a newline between delimeters from further checks in wptexturize() for better performance. props miqrogroove. fixes #28724. git-svn-id: https://develop.svn.wordpress.org/trunk@29008 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/formatting.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/wp-includes/formatting.php b/src/wp-includes/formatting.php index 4afb487a07..69923584c7 100644 --- a/src/wp-includes/formatting.php +++ b/src/wp-includes/formatting.php @@ -234,6 +234,11 @@ function wptexturize($text, $reset = false) { _wptexturize_pushpop_element( $curl, $no_texturize_tags_stack, $no_texturize_tags ); } + } elseif ( '' === trim( $curl ) ) { + // This is a newline between delimeters. Performance improves when we check this. + + continue; + } elseif ( '[' === $first && 1 === preg_match( '/^\[(?:[^\[\]<>]|<[^>]+>)+\]$/', $curl ) ) { // This is a shortcode delimeter. @@ -245,6 +250,8 @@ function wptexturize($text, $reset = false) { // Do not texturize. // Do not push to the shortcodes stack. + continue; + } elseif ( empty( $no_texturize_shortcodes_stack ) && empty( $no_texturize_tags_stack ) ) { // This is neither a delimeter, nor is this content inside of no_texturize pairs. Do texturize.