这是我的代码:
<?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
。
例如:if:
$matchWith = " http://videosite.com/ID123 ";
它不应该显示任何内容。
谢谢。
答案 0 :(得分:0)
您缺少起始分隔符和转义符:
preg_match_all('/\S\/videosite\.com\/(\w+)\S/i', $matchWith, $matches);
^ ^
答案 1 :(得分:0)
你正在错误地使用正则表达式中的前导斜杠。 尝试使用以下内容:
preg_match_all('/\Svideosite\.com\/(\w+)\S/i', $matchWith, $matches);