以下函数接受一个字符串并返回其中包含的所有URL。但是,当使用& amp;正确分离(和转义)查询变量时它截止于&amp ;.如何修改正则表达式以在& amp; amp;是用吗?
示例:
https://www.youtube.com/watch?v=exvUH2qKLTU&start=25
变为
https://www.youtube.com/watch?v=exvUH2qKLTU&
function wp_extract_urls( $content ) {
preg_match_all(
"#([\"']?)("
. "(?:([\w-]+:)?//?)"
. "[^\s()<>]+"
. "[.]"
. "(?:"
. "\([\w\d]+\)|"
. "(?:"
. "[^`!()\[\]{};:'\".,<>«»“”‘’\s]|"
. "(?:[:]\d+)?/?"
. ")+"
. ")"
. ")\\1#",
$content,
$post_links
);
$post_links = array_unique( array_map( 'html_entity_decode', $post_links[2] ) );
return array_values( $post_links );
}
参考:https://core.trac.wordpress.org/ticket/30580
是的,这是一个WordPress功能,但你不需要知道关于WordPress的任何信息来帮助:)