如何添加&分隔符到URL的正则表达式解析器

时间:2014-12-03 17:32:54

标签: php regex wordpress url escaping

以下函数接受一个字符串并返回其中包含的所有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的任何信息来帮助:)

0 个答案:

没有答案