我的网页是www.example.com/somthing/types.html,www.example.com/somthing2/types.html这个html文件有一个标记<a href="animals.html" . somthing,somthing2
是每个文件包含types.html链接的文件和animals.html这样的文件在同一个文件夹中。
当我用dom得到它时它只显示“animals.html”但我想得到“www.example.com/somthing/animals.html”。如何从www.example.com/somthing/types.html中删除types.html并放入www.example.com/somthing+/animals.html。
我只需要从www.example.com/somthing/types.html中删除“types.html”。 保留文件夹并删除“/".
之后的最后一部分我不知道总是最后一部分(文件名)所以我需要一种方法来删除最后一个“/”之后的东西。抱歉我的语言问题
如果我知道文件名(types.html),则str_replace('types.html' ,'','www.example.com/somthing/types.html');
。
答案 0 :(得分:1)
您可以使用此
preg_replace('/([^\/]*$)/', '', 'www.example.com/somthing/types.html');
这将替换最后/
输出为www.example.com/somthing/
答案 1 :(得分:0)
你也可以用旧时尚的方式做到这一点:
$url = 'www.example.com/somthing/types.html';
$divided = explode( '/', $url );
array_pop( $divided );
$new_url = implode( '/', $divided );
答案 2 :(得分:0)
Try this
$string = 'www.examle.com/somthing/types.html';
echo preg_replace('#\/[^/]*$#', '', $string);
答案 3 :(得分:0)
如果你正在考虑快速和最快,你可以考虑这段代码而不是preg_replace
$url = explode("/",$url);
array_pop($url);
$url = implode("/",$url);
再一次它的速度要快得多,所以请你这样做。)。
证明: http://sandbox.onlinephpfunctions.com/code/5083e02d4f171502ef1e7c87c8dd9a957ee0d8fb