正则表达式不起作用

时间:2013-03-17 13:19:55

标签: php regex

我不是编码员,但我正在努力为这样的事情制作一个正则表达式:

http://www.somedomain.com/340999

我已经完成了所有这些并且它在我的xenforo插件中起作用

http://[\w\.]*?somedomain\.[a-z]+/(\w+)
/http:\/\/(www\.)?somedomain\.com\/[0-9]/
http://[\w\.]*?somedomain\.[a-z]+/(?P<sval1>[\w-]+)
http://[a-z\.]*?somedomain\.[a-z]+/(\d+)

错误是

Server Error
preg_match() [function.preg-match]: No ending delimiter '#' found

代码可能有问题吗?

1 个答案:

答案 0 :(得分:0)

尝试preg-replace instad:

$search = '/(http:\/\/)?(www\.)?(somedomain\.com)(|\/[0-9]+)/i';
$replacement = '-consored-';
echo preg_replace($search, $replacement, $input);

即使没有 http 前缀或 www。,上面的正则表达式也会捕获所有链接。