<?php
$a = '>PH002756<abc>PH048780<123 yes.gif';
preg_match_all('/>(PH\d{6})<(abc|123 )(?:(yes.gif))?/i',$a,$matches);
$aa = $matches[1];
$bb = $matches[3];
print_r($aa);
echo "<hr>";
print_r($bb);
?>
Array ( [0] => [1] => yes.gif )
但是我把
(abc|123 )
換成
(.*)
結果就不能如上面所示了
重點是那個
(abc|123 )
是我設的
實際上值都是不固定的
yes.gif
有的有
有的沒有
請問要怎麼改寫呢??
<pre class="c" name="code">
preg_match_all('/>(PH\d{6})<([^> ]*) ?(yes.gif)?/i',$a,$matches);