regex 正则表达式PHP包含特定的单词

3df52oht  于 2023-04-07  发布在  PHP
关注(0)|答案(1)|浏览(83)

我想检索的第一个链接我的WordPress的帖子在一个自定义字段.我发现有人在同样的需要我,他得到了一个很好的答案:

function my_save_post( $post_id, $post ) {
    if ( wp_is_post_revision( $post_id ) )
        return;

    $matches = array();
    preg_match_all( '/href\s*=\s*[\"\']([^\"\']+)/', $post->post_content, $matches );

    $first_link = false;
    if ( ! empty( $matches[1][0] ) )
        $first_link = $matches[1][0];

    update_post_meta( $post_id, 'link', esc_url_raw( $first_link ) );
}

我的问题是,我想preg_match_all有一个条件,我想只检索第一个链接谁包含特定的字符串: bouture.com**,我认为这是可能的,因为他们已经是一个“字符串条件”与href,但我不知道如何做到这一点。
下面是一些链接的例子,我想通过REGEX表达式检索:
https://www.bouture.com
https://www.bouture.com/example
https://www.bouture.com/category/post-title/
如果你有任何想法,那就太棒了!
谢谢!

to94eoyn

to94eoyn1#

只检查$matches[1]

foreach($matches[1] ?? [] as $url){
    if(stripos($url, 'bouture.com') !== false){
        $first_link = $url;
        break;
    }
}

相关问题