wpseek.com
A WordPress-centric search engine for devs and theme authors
_wptexturize_pushpop_element is private and should not be used in themes or plugins directly.
_wptexturize_pushpop_element › WordPress Function
Since2.9.0
Deprecatedn/a
› _wptexturize_pushpop_element ( $text, $stack, $disabled_elements )
Access: |
|
Parameters: (3) |
|
Defined at: |
|
Codex: |
Searches for disabled element tags. Pushes element to stack on tag open and pops on tag close.
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>
.Related Functions: wptexturize_primes, wptexturize, wp_interactivity_get_element, _wp_customize_publish_changeset, wp_unschedule_event
Source
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 ); } } }