我正在尝试使用<col width="NUMBER">
捕获所有出现的preg_match_all
。我没有换行就能让它工作,但不能用它们。我最后使用了/ s修饰符,但没有去。
注意,最初我只能返回第一次出现,但我发现我可以使用一个断言,它使用(?=<col width=[^>](.*)>)
// without newlines in text, it finds 88 and 573
$text = '<table><colgroup><col width="88"><col width="573"></colgroup>';
preg_match_all('/<col width=[^>](.*)>(?=<col width=[^>](.*)>)/si', $text, $acell);
echo "<pre>";
var_dump($acell);
echo "</pre>";
// with newlines in text, can't find it.
$text = '<table>
<colgroup><col width="88">
<col width="573">
</colgroup>';
preg_match_all('/<col width=[^>](.*)>(?=<col width=[^>](.*)>)/si', $text, $acell);
echo "<pre>";
var_dump($acell);
echo "</pre>";
答案 0 :(得分:0)
更简单:
preg_match_all('/<col width=[^>]+>/i', $text, $acell);