我正在创建一个网站,用户可以在该网站上上传名为“ info.css”的文件。我希望我的PHP文件能够从该文件中读取信息,例如ID。
“ info.css”文件将包含类似于以下内容的内容:
/*
ID: test-preset;
Name: Test Preset;
*/
Run Code Online (Sandbox Code Playgroud)
我希望ID和Name进入单独的字符串,而没有'id:'或'name:'。请写下您可能会使用的所有解决方案。我尝试了以下操作(但束手无策。请注意,“ info.css”文件中的信息可能以不同的顺序出现,因此例如,如果首先使用“名称:”,它应该可以工作。
$preset_inf = strtolower($preset_inf);
$preset_inf = explode('*/', $preset_inf);
$preset_inf = str_replace('/*', '', $preset_inf[0]);
$preset_inf = str_replace(' ', '', $preset_inf);
$preset_inf = explode(';', $preset_inf);
Run Code Online (Sandbox Code Playgroud)
正则表达式?
$str = "/*
ID: test-preset;
Name: Test Preset;
*/";
preg_match_all("/(ID|Name):\s*(.*?)\;/s", $str, $m);
var_dump($m);
Run Code Online (Sandbox Code Playgroud)
这将产生:
array(3) {
[0]=>
string(35) "ID: test-preset;
Name: Test Preset;"
[1]=>
string(11) "test-preset"
[2]=>
string(11) "Test Preset"
}
Run Code Online (Sandbox Code Playgroud)
匹配ID / Name和之间的任何内容;。
编辑注意到它也可能是相反的方式。编辑了代码。
输出数组看起来会稍有不同,但是您想要的部分在$ m [2]数组中。