Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
_wptexturize_pushpop_element() WordPress Function
The wptexturize_pushpop_element() function is used to push or pop an element from the global stack of texturize filters. This function is primarily used by plugins and themes to disable or enable the wptexturize filter for certain parts of content.
_wptexturize_pushpop_element( string $text, string[] $stack, string[] $disabled_elements ) #
Searches for disabled element tags. Pushes element to stack on tag open and pops on tag close.
Description
Assumes first char of $text
is tag opening and last char is tag closing. Assumes second char of $text
is optionally /
to indicate closing as in </html>
.
Parameters
- $text
(string)(Required)Text to check. Must be a tag like
<html>
or[shortcode]
.- $stack
(string[])(Required)Array of open tag elements.
- $disabled_elements
(string[])(Required)Array of tag names to match against. Spaces are not allowed in tag names.
Source
File: wp-includes/formatting.php
function _wptexturize_pushpop_element( $text, &$stack, $disabled_elements ) { // Is it an opening tag or closing tag? if ( isset( $text[1] ) && '/' !== $text[1] ) { $opening_tag = true; $name_offset = 1; } elseif ( 0 === count( $stack ) ) { // Stack is empty. Just stop. return; } else { $opening_tag = false; $name_offset = 2; } // Parse out the tag name. $space = strpos( $text, ' ' ); if ( false === $space ) { $space = -1; } else { $space -= $name_offset; } $tag = substr( $text, $name_offset, $space ); // Handle disabled tags. if ( in_array( $tag, $disabled_elements, true ) ) { if ( $opening_tag ) { /* * This disables texturize until we find a closing tag of our type * (e.g. <pre>) even if there was invalid nesting before that. * * Example: in the case <pre>sadsadasd</code>"baba"</pre> * "baba" won't be texturized. */ array_push( $stack, $tag ); } elseif ( end( $stack ) == $tag ) { array_pop( $stack ); } } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
2.9.0 | Introduced. |