我用这个正则表达式
[^\/\.]+$
匹配.php
http://www.demo.com/profiles-forum/linda-blair.php
但它仅匹配php
。我怎样才能包括点?
答案1
如果你只需要文件名,请尝试这个(对于 / 和 .php 之间)
([^\/]*)\.[^.]*$
来源 :没有扩展名的正则表达式文件名
或者使用PHP preg_match_all
函数并将所有结果存储在变量中
<?php
$sites = array(
"http://www.demo.com/profiles-forum/linda.php",
"http://www.demo.com/profiles-forum/linda-blair.php",
"http://www.demo.com/profiles-forum/linda123_example.php");
foreach ($sites as $site){
preg_match_all('/(^http:\/\/www.demo.com\/profiles-forum\/)(.*).php/',$site,$res);
print_r($res[2][0]."<br>");
}
?>
输出:
linda
linda-blair
linda123_example