正则表达式不工作

问题描述:

我不是一个编码器,但我试图让一个正则表达式是这样的:正则表达式不工作

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

我会小心点击链接伙计... – codebox 2013-03-17 13:22:52

+1

@codebox OP至少是诚实的,大多数人会用mydomain.org代替它:D – VladL 2013-03-17 13:26:09

+0

所以你基本上想要检测到的链接和比?替换它们还是什么? – rekire 2013-03-17 13:35:09

尝试preg-replace instad:

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

正则表达式以上将捕获的所有链接,即使没有HTTP前缀或WWW。