0

我正在对可能(或可能不 - 视情况而定)在其内容中出现正则表达式模式的文档进行一些数据处理。

我想编写一个 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;
   }
?>
4

1 回答 1

0
  • 你少了一个 $
  • 在您的情况下,您可以简单地返回$out[0]
于 2011-11-27T13:28:04.783 回答