Changeset 45585 for trunk/src/wp-includes/formatting.php
- Timestamp:
- 07/02/2019 01:30:15 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/formatting.php
r45580 r45585 493 493 $pee = preg_replace( '|<br\s*/?>\s*<br\s*/?>|', "\n\n", $pee ); 494 494 495 $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|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)'; 495 $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|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)\b'; 496 $allblocksexceptp = str_replace( '|p|', '|', $allblocks ); 496 497 497 498 // Add a double line break above block-level opening tags. … … 559 560 $pee = preg_replace( '|<p>\s*</p>|', '', $pee ); 560 561 562 // If an opening or closing block element tag is wrapped in a <p>, unwrap it. 563 $pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', '$1', $pee ); 564 561 565 // Add a closing <p> inside <div>, <address>, or <form> tag if missing. 562 566 $pee = preg_replace( '!<p>([^<]+)</(div|address|form)>!', '<p>$1</p></$2>', $pee ); 563 564 // If an opening or closing block element tag is wrapped in a <p>, unwrap it.565 $pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', '$1', $pee );566 567 567 568 // In some cases <li> may get wrapped in <p>, fix them. … … 577 578 // If an opening or closing block element tag is followed by a closing <p> tag, remove it. 578 579 $pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*</p>!', '$1', $pee ); 580 581 // If a closing <p> tag is inside a block element tag, without a preceding opening <p> tag, remove it. 582 $pee = preg_replace( '#(<(' . $allblocksexceptp . ')[^>]*>)(((?!<p>|</\2>).)*)</p>#s', '$1$3', $pee ); 583 584 // If an opening <p> tag is inside a block element tag, without a following closing <p> tag, remove it. 585 $pee = preg_replace( '#<p>(((?!</p>).)*</' . $allblocksexceptp . '>)#s', '$1', $pee ); 579 586 580 587 // Optionally insert line breaks.
Note: See TracChangeset
for help on using the changeset viewer.