title: preg_match returns empty array
body: <p>I always use <code>preg_match</code> and it always works fine,
  but today I was trying to get a content between two html tags <code>&lt;code: 1&gt;DATA&lt;/code&gt;</code></p>
  
  <p>And I have a problem, which my code explains:</p>
  
  <pre><code>function findThis($data){
      preg_match_all("/\&lt;code: (.*?)\&gt;(.*?)\&lt;\/code\&gt;/i",$data,$conditions);
      return $conditions;
  }
  
      // plain text
      // working fine
  
      $data1='Some text...Some.. Te&lt;code: 1&gt;This is a php code&lt;/code&gt;';
  
      //A text with a new lines
      // Not working..
  
      $data2='some text..
      some.. te
      &lt;code: 1&gt;
      This is a php code
      ..
      &lt;/code&gt;
      ';
  
      print_r(findThis($data1));
  
      // OUTPUT
      // [0][0] =&gt; &lt;code: 1&gt;This is a php code&lt;/code&gt;
      // [1][0] =&gt; 1
      // [2][0] =&gt; This is a php code
  
      print_r(findThis($data2));
  
      //Outputs nothing!
  </code></pre>