PHP从字符串中获取特定单词(如果存在)
所以我有很多文件名,比如PHP从字符串中获取特定单词(如果存在),php,string,substr,Php,String,Substr,所以我有很多文件名,比如 $filename = "somefile-Page-1.pdf" $filename = "somefile-Page-2.pdf" 我要做的是在文件名中获取页码 so that $pageNumber will resurn Page-1 我尝试了以下方法: $pageNum = substr($filename, 0, strpos($filename, 'Page')); 但这最终还是回来了 somefile- 在您的示例中,子字符串从0开始
$filename = "somefile-Page-1.pdf"
$filename = "somefile-Page-2.pdf"
我要做的是在文件名中获取页码
so that $pageNumber will resurn Page-1
我尝试了以下方法:
$pageNum = substr($filename, 0, strpos($filename, 'Page'));
但这最终还是回来了
somefile-
在您的示例中,子字符串从0开始,在“Page”位置结束。试一试
$pageNum = substr($filename, strpos($filename, 'Page'), -4);
要获取从“页面”到结尾的部分(无句点和扩展,因此为-4)。请尝试以下操作:
$filename = 'somefile-Page-2.pdf';
preg_match('/(Page\-(\d+))\.pdf/i', $filename, $matches);
匹配数组的格式为:
数组(大小=3)
0=>字符串“Page-2.pdf”(长度=10)
1=>字符串“第2页”(长度=6)
2=>字符串“2”(长度=1)
你为什么从零开始。您应该从文件名开始的子字符串开始<代码>子文件($filename,strpos($filename,'Page'),-4)代码>
$filename = 'somefile-Page-2.pdf';
preg_match('/(Page\-(\d+))\.pdf/i', $filename, $matches);