我正在对可能(或可能不 - 视情况而定)在其内容中出现正则表达式模式的文档进行一些数据处理。
我想编写一个 PHP 函数来处理文档 - 该函数的工作是返回文档中所有匹配模式声音的数组(如果它们存在),或者如果没有找到匹配项则返回一个空数组.
我确信这涉及使用 PHP 函数preg_match_all,但是,我不明白 preg_match_all 返回的数组的格式。我只想返回匹配的字符串的一维(即非嵌套数组),如下所示:
<?php
$pattern = "^[h].[a-z]{3,4}";
$doc = file_get_contents('some_pathname');
function get_matching_patterns($pattern, $doc){
$out = array();
if (strlen($doc) && strlen($pattern)){
// not sure about this - I don't like the complicated nested array returned
// by preg_match-all
preg_match_all($pattern, $doc, $out);
}
return out;
}
?>