如何在某些字符之后从字符串的开头和结尾删除?
How to remove from starting and from end of string after certain characters?
我有这个:/opt/lampp/htdocs/website/inn/hemlata993/93/
我想删除末尾的 /opt/lampp/htdocs
和 /
,因此应该删除末尾第二个 /
之后的所有内容。在上面的示例中,/93
应该被删除,因此它将是:
/website/inn/hemlata993/
我试过这样做:
$files = glob($dirName."*.*");
for ($i = 0; $i < count($files); $i++) {
$image = $files[$i];
echo $image;
$arr = explode('/opt/lampp/htdocs', $image);
$important = $arr[1];
echo '<img src="'.$important.'" width="100" height="100" alt="Random image" />' . "<br /><br />";
}
这会删除 /opt/lampp/htdocs
我想知道如何删除最后一个,并将其存储在一个变量中?我尝试使用 substr,但在删除第一部分后,我假设它存储在数组中,所以我无法这样做。我怎样才能得到/website/inn/hemlata993/
?
实现此目的的一种方法是使用正则表达式来匹配 /opt/lampp/htdocs
之后直到并包括倒数第二个 /
的所有内容。例如:
$image = '/opt/lampp/htdocs/website/inn/hemlata993/93/';
$image = preg_replace('#/opt/lampp/htdocs(/.*/)[^/]+/[^/]*$#', '', $image);
echo $image;
输出:
/website/inn/hemlata993/
我会寻求一个不依赖于您网站物理位置的解决方案:
$path = '/opt/lampp/htdocs/website/inn/hemlata993/93/';
if (preg_match('#/website/(.*)/(?=\d+/)#', $path, $matches)) {
$path = $matches[0];
}
然而,这假设:
/website
是文件在服务器文档根目录中的位置,
- 路径总是以一个或多个数字结尾(在最后一个
/
之前)。
我有这个:/opt/lampp/htdocs/website/inn/hemlata993/93/
我想删除末尾的 /opt/lampp/htdocs
和 /
,因此应该删除末尾第二个 /
之后的所有内容。在上面的示例中,/93
应该被删除,因此它将是:
/website/inn/hemlata993/
我试过这样做:
$files = glob($dirName."*.*");
for ($i = 0; $i < count($files); $i++) {
$image = $files[$i];
echo $image;
$arr = explode('/opt/lampp/htdocs', $image);
$important = $arr[1];
echo '<img src="'.$important.'" width="100" height="100" alt="Random image" />' . "<br /><br />";
}
这会删除 /opt/lampp/htdocs
我想知道如何删除最后一个,并将其存储在一个变量中?我尝试使用 substr,但在删除第一部分后,我假设它存储在数组中,所以我无法这样做。我怎样才能得到/website/inn/hemlata993/
?
实现此目的的一种方法是使用正则表达式来匹配 /opt/lampp/htdocs
之后直到并包括倒数第二个 /
的所有内容。例如:
$image = '/opt/lampp/htdocs/website/inn/hemlata993/93/';
$image = preg_replace('#/opt/lampp/htdocs(/.*/)[^/]+/[^/]*$#', '', $image);
echo $image;
输出:
/website/inn/hemlata993/
我会寻求一个不依赖于您网站物理位置的解决方案:
$path = '/opt/lampp/htdocs/website/inn/hemlata993/93/';
if (preg_match('#/website/(.*)/(?=\d+/)#', $path, $matches)) {
$path = $matches[0];
}
然而,这假设:
/website
是文件在服务器文档根目录中的位置,- 路径总是以一个或多个数字结尾(在最后一个
/
之前)。