如何使用 preg_grep 查找 url
Posted
技术标签:
【中文标题】如何使用 preg_grep 查找 url【英文标题】:How to use preg_grep to find urls 【发布时间】:2015-01-07 12:38:05 【问题描述】:在我的项目中,我有多个 .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
如何编辑? 谢谢
【问题讨论】:
试试这样的:$fl_array = preg_grep("/" . $pattern[1] . "/", $files);
这对你有用吗?
【参考方案1】:
使用这个:
preg_grep(sprintf('/%s/', preg_quote($pattern[1])), $files);
【讨论】:
【参考方案2】:双引号内的字符串正在被评估,"\d"
毕竟不是你所期望的。
要么使用单引号:
preg_split('/(\d+)/' ...
或者在d
前面转义反斜杠:
preg_split("/(\\d+)/" ...
【讨论】:
以上是关于如何使用 preg_grep 查找 url的主要内容,如果未能解决你的问题,请参考以下文章