`wp_extract_urls()` needs to also grab URLs with query strings and hashes.

Updates unit test.

Props hauvong, dlh.
Fixes #29314.


git-svn-id: https://develop.svn.wordpress.org/trunk@29756 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Scott Taylor 2014-09-23 02:49:22 +00:00
parent 32c1d55d1f
commit f00f28cce0
2 changed files with 10 additions and 5 deletions

View File

@ -457,23 +457,23 @@ function xmlrpc_removepostdata( $content ) {
*/
function wp_extract_urls( $content ) {
preg_match_all(
"#("
"#([\"']?)("
. "(?:([\w-]+:)?//?)"
. "[^\s()<>]+"
. "[.]"
. "(?:"
. "\([\w\d]+\)|"
. "(?:"
. "[^`!()\[\]{};:'\".,<>?«»“”‘’\s]|"
. "[^`!()\[\]{};:'\".,<>«»“”‘’\s]|"
. "(?:[:]\d+)?/?"
. ")+"
. ")"
. ")#",
. ")\\1#",
$content,
$post_links
);
$post_links = array_unique( array_map( 'html_entity_decode', $post_links[0] ) );
$post_links = array_unique( array_map( 'html_entity_decode', $post_links[2] ) );
return array_values( $post_links );
}

View File

@ -421,7 +421,9 @@ class Tests_Functions extends WP_UnitTestCase {
'http://türkiye.icom.museum',
'http://украина.icom.museum',
'http://việtnam.icom.museum',
'ftp://127.0.0.1/'
'ftp://127.0.0.1/',
'http://www.woo.com/video?v=exvUH2qKLTU',
'http://taco.com?burrito=enchilada#guac'
);
$blob ="
@ -481,6 +483,9 @@ class Tests_Functions extends WP_UnitTestCase {
http://украина.icom.museum
http://việtnam.icom.museum
ftp://127.0.0.1/
http://www.woo.com/video?v=exvUH2qKLTU
http://taco.com?burrito=enchilada#guac
";
$urls = wp_extract_urls( $blob );