From 7086111ad4dd997e12a3220e1ee60c9b9bcf0bb8 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 7 Jan 2020 13:06:14 +0100 Subject: Added wordpress --- .../wp-includes/class-wp-matchesmapregex.php | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 srcs/wordpress/wp-includes/class-wp-matchesmapregex.php (limited to 'srcs/wordpress/wp-includes/class-wp-matchesmapregex.php') diff --git a/srcs/wordpress/wp-includes/class-wp-matchesmapregex.php b/srcs/wordpress/wp-includes/class-wp-matchesmapregex.php new file mode 100644 index 0000000..86e3889 --- /dev/null +++ b/srcs/wordpress/wp-includes/class-wp-matchesmapregex.php @@ -0,0 +1,89 @@ +_subject = $subject; + $this->_matches = $matches; + $this->output = $this->_map(); + } + + /** + * Substitute substring matches in subject. + * + * static helper function to ease use + * + * @param string $subject subject + * @param array $matches data used for substitution + * @return string + */ + public static function apply( $subject, $matches ) { + $oSelf = new WP_MatchesMapRegex( $subject, $matches ); + return $oSelf->output; + } + + /** + * do the actual mapping + * + * @return string + */ + private function _map() { + $callback = array( $this, 'callback' ); + return preg_replace_callback( $this->_pattern, $callback, $this->_subject ); + } + + /** + * preg_replace_callback hook + * + * @param array $matches preg_replace regexp matches + * @return string + */ + public function callback( $matches ) { + $index = intval( substr( $matches[0], 9, -1 ) ); + return ( isset( $this->_matches[ $index ] ) ? urlencode( $this->_matches[ $index ] ) : '' ); + } +} -- cgit