wp_targeted_link_rel( string $text )
Adds rel="noopener"
to all HTML A elements that have a target.
Parameters
- $text
-
(string) (Required) Content that may contain HTML A elements.
Return
(string) Converted content.
Source
File: wp-includes/formatting.php
function wp_targeted_link_rel( $text ) { // Don't run (more expensive) regex if no links with targets. if ( stripos( $text, 'target' ) === false || stripos( $text, '<a ' ) === false || is_serialized( $text ) ) { return $text; } $script_and_style_regex = '/<(script|style).*?<\/\\1>/si'; preg_match_all( $script_and_style_regex, $text, $matches ); $extra_parts = $matches[0]; $html_parts = preg_split( $script_and_style_regex, $text ); foreach ( $html_parts as &$part ) { $part = preg_replace_callback( '|<a\s([^>]*target\s*=[^>]*)>|i', 'wp_targeted_link_rel_callback', $part ); } $text = ''; for ( $i = 0; $i < count( $html_parts ); $i++ ) { $text .= $html_parts[ $i ]; if ( isset( $extra_parts[ $i ] ) ) { $text .= $extra_parts[ $i ]; } } return $text; }
Changelog
Version | Description |
---|---|
5.6.0 | Removed 'noreferrer' relationship. |
5.1.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_targeted_link_rel