特定の条件に一致するファイルを取得するには、preg_match を使用する必要があります。たとえば、「123-stack-overflow.txt」という名前のファイルを見つけたいとします。123- の後と .txt の前には、任意の文字を含めることができます。
これが機能するようにどのように変更できますか?
preg_match("/^$ID-(.+).txt/" , $name, $file);
特定の条件に一致するファイルを取得するには、preg_match を使用する必要があります。たとえば、「123-stack-overflow.txt」という名前のファイルを見つけたいとします。123- の後と .txt の前には、任意の文字を含めることができます。
これが機能するようにどのように変更できますか?
preg_match("/^$ID-(.+).txt/" , $name, $file);
//^ beginning of line<br/>
//preg_quote($ID, '/') Properly escaped id, in case it has control characters <br/>
//\\- escaped dash<br/>
//(.+) captured file name w/out extension <br/>
//\.txt extension<br/>
//$ end of line
preg_match("/^".preg_quote($ID, '/')."\\-(.+)\\.txt$/" , $name, $file);
正規表現^123-.+\.txt$
^ # Match start of string
123- # Match the literal string 123-
(.+) # Match anything after (captured)
\.txt # Match the literal string .txt
$ # Match end of string
php:
$str="123-stack-overflow.txt";
preg_match('/^123-(.+)\.txt$/',$str,$match);
echo $match[0];
echo $match[1];
>>> 123-stack-overflow.txt
>>> stack-overflow
あなたは逃げなければなりません。憲章
preg_match("/^$ID-(.+).txt/" , $name, $file);
する必要があります
preg_match("/^$ID-(.+)\.txt^/U" , $name, $file);
$ID の代わりにすべての数字に一致させたい場合は、使用できます
preg_match("/^[0-9]+-(.+)\.txt^/U" , $name, $file);