我想扫描一个包含图像文件的目录,并用它们填充我的数据库。图像具有常规和受控名称,如top_1,top_200,bottom_3。我需要帮助处理与'_'之前的单词匹配的正则表达式,因为每个单词在db中都有不同的关系。
我现在要扫描目录:
function scan_img_dir()
{
$dir = '/images/';
$scan = scandir($dir);
for ($i=0; $i<count($scan); $i++)
{
//Being Pseudocode
$stringBeforeUnderscore = Some_String_Manipulation($scan[$i]);
switch($stringBeforeUnderscore)
{
case 'top':
insert into db with the top relationship
break;
case 'bottom':
insert into db with the bottom relationship
break;
}
}
}
在'_'之前拉取字符串的代码的任何帮助都会很棒。任何有助于改善逻辑或代码的帮助都会锦上添花!提前谢谢。
答案 0 :(得分:2)
$stringBeforeUnderscore = substr($scan[$i], 0, strpos($scan[$i], '_'));
答案 1 :(得分:1)
$str = 'asd_asdad_aef';
preg_match_all('/([^_]*)/', $str, $matches);
$stringBeforeUnderscore = $matches[0][0];