<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FString%2Fpreg_match_all</id>
		<title>PHP/String/preg match all - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FString%2Fpreg_match_all"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/String/preg_match_all&amp;action=history"/>
		<updated>2026-04-04T15:58:30Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/String/preg_match_all&amp;diff=1396&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/String/preg_match_all&amp;diff=1396&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:30Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/String/preg_match_all&amp;diff=1397&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/String/preg_match_all&amp;diff=1397&amp;oldid=prev"/>
				<updated>2010-05-26T07:07:37Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A non-capturing optional subpattern==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$html = &amp;quot;&amp;lt;link rel=&amp;quot;icon&amp;quot; href=&amp;quot;http://www.example.ru/icon.gif&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;prev&amp;quot; title=&amp;quot;Previous&amp;quot; href=&amp;quot;http://www.example.ru/prev.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;next&amp;quot; href=&amp;quot;http://www.example.ru/next.xml&amp;quot;/&amp;gt;&amp;quot;;&lt;br /&gt;
preg_match_all(&amp;quot;/rel=&amp;quot;(?:prev|next)&amp;quot;(?: title=&amp;quot;[^&amp;quot;]+?&amp;quot;)? href=&lt;br /&gt;
&amp;quot;([^&amp;quot;]*?)&amp;quot;/&amp;quot;, $html, $linkMatches);&lt;br /&gt;
print &amp;quot;$bothMatches is: &amp;quot;; var_dump($linkMatches);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Capturing HTML headings==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$html = file_get_contents(&amp;quot;example.html&amp;quot;);&lt;br /&gt;
preg_match_all(&amp;quot;@&amp;lt;h([1-6])&amp;gt;(.+?)&amp;lt;/h\1&amp;gt;@is&amp;quot;, $html, $matches);&lt;br /&gt;
foreach ($matches[2] as $text) {&lt;br /&gt;
    print &amp;quot;Heading: $text \n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Extracting text from HTML tags==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$html = file_get_contents(&amp;quot;example.html&amp;quot;);&lt;br /&gt;
preg_match_all(&amp;quot;@&amp;lt;(strong|em)&amp;gt;(.+?)&amp;lt;/\1&amp;gt;@is&amp;quot;, $html, $matches);&lt;br /&gt;
foreach ($matches[2] as $text) {&lt;br /&gt;
    print &amp;quot;Text: $text \n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding Matches Globally with preg_match_all()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$text = &amp;quot;take, tart, till&amp;quot;;&lt;br /&gt;
if ( preg_match( &amp;quot;/\bt\w+s\b/&amp;quot;, $text, $array ) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding the nth match==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$todo = &amp;quot;1. a 2. B 3. C&amp;quot;;&lt;br /&gt;
preg_match_all(&amp;quot;/\d\. ([^\d]+)/&amp;quot;, $todo, $matches);&lt;br /&gt;
print &amp;quot;The second item on the todo list is: &amp;quot;;&lt;br /&gt;
print $matches[1][1];&lt;br /&gt;
print &amp;quot;The entire todo list is: &amp;quot;;&lt;br /&gt;
foreach($matches[1] as $match) {&lt;br /&gt;
    print &amp;quot;$match\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Making a quantifier match as few characters as possible==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// find all &amp;lt;em&amp;gt;emphasized&amp;lt;/em&amp;gt; sections&lt;br /&gt;
preg_match_all(&amp;quot;@&amp;lt;em&amp;gt;.+?&amp;lt;/em&amp;gt;@&amp;quot;, $html, $matches);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matching with preg_match_all()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$html = &amp;lt;&amp;lt;&amp;lt;_HTML_&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;BeefFun&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pea&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Noodles&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
_HTML_;&lt;br /&gt;
preg_match(&amp;quot;@&amp;lt;li&amp;gt;(.*?)&amp;lt;/li&amp;gt;@&amp;quot;,$html,$matches);&lt;br /&gt;
$match_count = preg_match_all(&amp;quot;@&amp;lt;li&amp;gt;(.*?)&amp;lt;/li&amp;gt;@&amp;quot;,$html,$matches_all);&lt;br /&gt;
print &amp;quot;preg_match_all() matched $match_count times.\n&amp;quot;;&lt;br /&gt;
print &amp;quot;preg_match() array: &amp;quot;;&lt;br /&gt;
var_dump($matches);&lt;br /&gt;
print &amp;quot;preg_match_all() array: &amp;quot;;&lt;br /&gt;
var_dump($matches_all);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==m modifier: match an anchored pattern on multiple lines of text.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The anchor patterns ^ and $ match the beginning and end of an entire string by default. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$text = &amp;quot;name: Joe\noccupation: coder\n\n&amp;quot;;&lt;br /&gt;
if ( preg_match_all( &amp;quot;/^\w+:\s+(.*)$/m&amp;quot;, $text, $array ) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==preg_match_all==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   $userinfo = &amp;quot;Name: &amp;lt;b&amp;gt;PHP&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt; Title: &amp;lt;b&amp;gt;Programming Language&amp;lt;/b&amp;gt;&amp;quot;;&lt;br /&gt;
   preg_match_all (&amp;quot;/&amp;lt;b&amp;gt;(.*)&amp;lt;\/b&amp;gt;/U&amp;quot;, $userinfo, $pat_array); &lt;br /&gt;
   print $pat_array[0][0].&amp;quot; &amp;lt;br&amp;gt; &amp;quot;.$pat_array[0][1].&amp;quot;\n&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==preg_match_all demo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    $a = &amp;quot;Foo moo boo tool foo!&amp;quot;;&lt;br /&gt;
    preg_match_all(&amp;quot;/[A-Za-z]oo\b/i&amp;quot;, $a, $matches);&lt;br /&gt;
    var_dump($myarray);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==preg_match_all() function matches all occurrences of pattern in string.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Its syntax: int preg_match_all (string pattern, string string, array pattern_array [, int order])&lt;br /&gt;
There are two possible types of order:&lt;br /&gt;
PREG_PATTERN_ORDER is the default. &lt;br /&gt;
PREG_PATTERN_ORDER: $pattern_array[0] is an array of all complete pattern matches, $pattern_array[1] is an array of all strings matching the first parenthesized regexp, and so on.&lt;br /&gt;
PREG_SET_ORDER: $pattern_array[0] contains elements matched by the first parenthesized regexp, $pattern_array[1] contains elements matched by the second parenthesized regexp, and so on.&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$userinfo = &amp;quot;Name: &amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt; Title: &amp;lt;b&amp;gt;PHP&amp;lt;/b&amp;gt;&amp;quot;;&lt;br /&gt;
preg_match_all (&amp;quot;/&amp;lt;b&amp;gt;(.*)&amp;lt;\/b&amp;gt;/U&amp;quot;, $userinfo, $pat_array);&lt;br /&gt;
print $pat_array[0][0].&amp;quot; &amp;lt;br&amp;gt; &amp;quot;.$pat_array[0][1].&amp;quot;\n&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==preg_match_all searches a string for all the occurrences of a regular expression==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$s = &amp;quot;A beautiful day&amp;quot;;&lt;br /&gt;
preg_match_all (&amp;quot;/beaut[^ ]+/&amp;quot;, $s, $matches);&lt;br /&gt;
var_dump ($matches)&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reading Records with a Delimiter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $file = fopen(&amp;quot;testfile.csv&amp;quot;, &amp;quot;r&amp;quot;) or die(&amp;quot;Cannot open file!\n&amp;quot;);&lt;br /&gt;
  while ($line = fgets($file, 1024)) {&lt;br /&gt;
    preg_match_all(&amp;quot;/[^,\&amp;quot;]+|\&amp;quot;([^\&amp;quot;]|\&amp;quot;\&amp;quot;)*\&amp;quot;/&amp;quot;, $line, $fields);&lt;br /&gt;
    echo &amp;quot;First field is:  &amp;quot; . $fields[0][0] . &amp;quot;\n&amp;quot;;&lt;br /&gt;
    echo &amp;quot;Second field is: &amp;quot; . $fields[0][1] . &amp;quot;\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  fclose($file);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using preg functions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if (preg_match(&amp;quot;{&amp;lt;title&amp;gt;.+&amp;lt;/title&amp;gt;}&amp;quot;, $html)) {&lt;br /&gt;
    // page has a title&lt;br /&gt;
}&lt;br /&gt;
if (preg_match_all(&amp;quot;/&amp;lt;li&amp;gt;/&amp;quot;, $html, $matches)) {&lt;br /&gt;
    print &amp;quot;Page has &amp;quot; . count($matches[0]) . &amp;quot; list items\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
// turn bold into italic&lt;br /&gt;
$italics = preg_replace(&amp;quot;/(&amp;lt;\/?)b(&amp;gt;)/&amp;quot;, &amp;quot;$1i$2&amp;quot;, $bold);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using preg_match_all() to Match a Pattern Globally==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Using preg_match_all() to Match a Pattern Globally&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$text = &amp;quot;plants, pianos and parrots&amp;quot;;&lt;br /&gt;
if ( preg_match_all( &amp;quot;/\bp\w+s\b/&amp;quot;, $text, $array ) ) {&lt;br /&gt;
  print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
  print_r( $array );&lt;br /&gt;
  print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>