A non-capturing optional subpattern : preg_match_all « String « PHP






A non-capturing optional subpattern

 
<?php
$html = '<link rel="icon" href="http://www.example.com/icon.gif"/>
<link rel="prev" title="Previous" href="http://www.example.com/prev.xml"/>
<link rel="next" href="http://www.example.com/next.xml"/>';

preg_match_all('/rel="(?:prev|next)"(?: title="[^"]+?")? href=
"([^"]*?)"/', $html, $linkMatches);

print '$bothMatches is: '; var_dump($linkMatches);
?>
  
  








Related examples in the same category

1.Capturing HTML headings
2.preg_match_all
3.preg_match_all demo
4.preg_match_all searches a string for all the occurrences of a regular expression
5.preg_match_all() function matches all occurrences of pattern in string.
6.Finding Matches Globally with preg_match_all()
7.Matching with preg_match_all()
8.Using preg_match_all() to Match a Pattern Globally
9.Using preg functions
10.Extracting text from HTML tags
11.Finding the nth match
12.Making a quantifier match as few characters as possible
13.m modifier: match an anchored pattern on multiple lines of text.
14.Reading Records with a Delimiter