如何使用 preg_grep 查找 url
How to use preg_grep to find urls
在我的项目中,我有多个 .csv 文件,其域名如 1www.abc.com.csv
、2www.abc.com.csv
、或 1m.xyz.com.au.cs
v、2m.blackburneinvest.com.au.csv
、3m.blackburneinvest.com.au.csv
我想在 preg_grep 的数组中搜索模式 *.csv
(不包括数字)。
到目前为止我试过了
<?php
echo "<pre>";
$files = glob("*.csv");//gets list of all the .csv file names in dir
foreach ($files as $key => $value)
{
$pattern = preg_split("/(\d+)/", $value);//Spilts Number from rest file name
$fl_array = preg_grep($pattern[1], $files);
}
print_r($fl_array);
?>
但是我收到一条错误消息
Warning: preg_grep(): Delimiter must not be alphanumeric or backslash
我该如何编辑?
谢谢
使用这个:
preg_grep(sprintf('/%s/', preg_quote($pattern[1])), $files);
正在评估双引号内的字符串,"\d"
毕竟不是您所期望的。
要么使用单引号:
preg_split('/(\d+)/' ...
或转义d
前的反斜杠:
preg_split("/(\d+)/" ...
在我的项目中,我有多个 .csv 文件,其域名如 1www.abc.com.csv
、2www.abc.com.csv
、或 1m.xyz.com.au.cs
v、2m.blackburneinvest.com.au.csv
、3m.blackburneinvest.com.au.csv
我想在 preg_grep 的数组中搜索模式 *.csv
(不包括数字)。
到目前为止我试过了
<?php
echo "<pre>";
$files = glob("*.csv");//gets list of all the .csv file names in dir
foreach ($files as $key => $value)
{
$pattern = preg_split("/(\d+)/", $value);//Spilts Number from rest file name
$fl_array = preg_grep($pattern[1], $files);
}
print_r($fl_array);
?>
但是我收到一条错误消息
Warning: preg_grep(): Delimiter must not be alphanumeric or backslash
我该如何编辑? 谢谢
使用这个:
preg_grep(sprintf('/%s/', preg_quote($pattern[1])), $files);
正在评估双引号内的字符串,"\d"
毕竟不是您所期望的。
要么使用单引号:
preg_split('/(\d+)/' ...
或转义d
前的反斜杠:
preg_split("/(\d+)/" ...