繁体   English   中英

正则表达式(preg_match_all)

[英]Regular Expression (preg_match_all)

这是我的代码:

    <?php
    $matchWith = "http://videosite.com/ID123";
    preg_match_all('/\S\/videosite\.com\/(\w+)\S/i', $matchWith, $matches);  
    foreach($matches[1] as $value)
    {  
            print '<a href="http://videosite.com/'.$value.'">
    Hyperlink
    </a>';        

    }  
    ?>

没用 我想排除链接(带有ID)前后带有空格的所有匹配项。 我为此使用\\S

例如,如果:

$matchWith = " http://videosite.com/ID123 ";

它不应显示任何内容。

谢谢。

您缺少起始定界符和转义符:

preg_match_all('/\S\/videosite\.com\/(\w+)\S/i', $matchWith, $matches);  
                ^  ^

您在正则表达式中放置了斜杠。 尝试使用以下内容:

preg_match_all('/\Svideosite\.com\/(\w+)\S/i', $matchWith, $matches);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM