Php 如何添加&;URL正则表达式解析器的分隔符
下面的函数接受一个字符串并返回其中包含的所有URL。但是,当查询变量正确分离并用&;转义时;它在&处截断。如何修改正则表达式以在&;时返回整个URL;使用了什么 例如:Php 如何添加&;URL正则表达式解析器的分隔符,php,regex,wordpress,url,escaping,Php,Regex,Wordpress,Url,Escaping,下面的函数接受一个字符串并返回其中包含的所有URL。但是,当查询变量正确分离并用&;转义时;它在&处截断。如何修改正则表达式以在&;时返回整个URL;使用了什么 例如: https://www.youtube.com/watch?v=exvUH2qKLTU&start=25 变成 https://www.youtube.com/watch?v=exvUH2qKLTU& 参考: 是的,这是一个WordPress函数,但您不需要了解任何有关WordPress的
https://www.youtube.com/watch?v=exvUH2qKLTU&start=25
变成
https://www.youtube.com/watch?v=exvUH2qKLTU&
参考:
是的,这是一个WordPress函数,但您不需要了解任何有关WordPress的信息即可获得帮助:Concats,而不仅仅是使用/x标志。是的,看起来像Wordpress。但是你为什么不事先应用html实体解码呢?好吧,这不是我的功能,它是WordPress核心,也许是为了性能?
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 );
}