\s*
|', "\n\n", $pee ); // Space things out a little /* wpcf7: removed select and input */ $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr)'; $pee = preg_replace( '!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee ); $pee = preg_replace( '!()!', "$1\n\n", $pee ); $pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // cross-platform newlines if ( strpos( $pee, ']*)>\s*|', "", $pee ); // no pee inside object/embed $pee = preg_replace( '|\s*\s*|', '', $pee ); } $pee = preg_replace( "/\n\n+/", "\n\n", $pee ); // take care of duplicates // make paragraphs, including one at the end $pees = preg_split( '/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY ); $pee = ''; foreach ( $pees as $tinkle ) $pee .= '

' . trim( $tinkle, "\n" ) . "

\n"; $pee = preg_replace( '|

\s*

|', '', $pee ); // under certain strange conditions it could create a P of entirely whitespace $pee = preg_replace( '!

([^<]+)!', "

$1

", $pee ); $pee = preg_replace( '!

\s*(]*>)\s*

!', "$1", $pee ); // don't pee all over a tag $pee = preg_replace( "|

(|", "$1", $pee ); // problem with nested lists $pee = preg_replace( '|

]*)>|i', "

", $pee ); $pee = str_replace( '

', '

', $pee ); $pee = preg_replace( '!

\s*(]*>)!', "$1", $pee ); $pee = preg_replace( '!(]*>)\s*

!', "$1", $pee ); if ( $br ) { /* wpcf7: add textarea */ $pee = preg_replace_callback( '/<(script|style|textarea).*?<\/\\1>/s', create_function( '$matches', 'return str_replace("\n", "", $matches[0]);' ), $pee ); $pee = preg_replace( '|(?)\s*\n|', "
\n", $pee ); // optionally make line breaks $pee = str_replace( '', "\n", $pee ); } $pee = preg_replace( '!(]*>)\s*
!', "$1", $pee ); $pee = preg_replace( '!
(\s*]*>)!', '$1', $pee ); if ( strpos( $pee, ']*>)(.*?)!is', 'clean_pre', $pee ); $pee = preg_replace( "|\n

$|", '

', $pee ); /* wpcf7: replaced to wpcf7_get_shortcode_regex ( -> comment out) */ // don't auto-p wrap shortcodes that stand alone // $pee = preg_replace( '/

\s*?(' . wpcf7_get_shortcode_regex() . ')\s*<\/p>/s', '$1', $pee ); return $pee; } function wpcf7_strip_quote( $text ) { $text = trim( $text ); if ( preg_match( '/^"(.*)"$/', $text, $matches ) ) $text = $matches[1]; elseif ( preg_match( "/^'(.*)'$/", $text, $matches ) ) $text = $matches[1]; return $text; } function wpcf7_strip_quote_deep( $arr ) { if ( is_string( $arr ) ) return wpcf7_strip_quote( $arr ); if ( is_array( $arr ) ) { $result = array(); foreach ( $arr as $key => $text ) { $result[$key] = wpcf7_strip_quote( $text ); } return $result; } } function wpcf7_canonicalize( $text ) { if ( function_exists( 'mb_convert_kana' ) && 'UTF-8' == get_option( 'blog_charset' ) ) $text = mb_convert_kana( $text, 'asKV', 'UTF-8' ); $text = strtolower( $text ); $text = trim( $text ); return $text; } ?>