3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $attrPattern = '/([a-z0-9-]*)(=(["\']??)([^"\']*?)\\3)?/si'; $attr = 'target="_parent" data-foo data-bar="baz"'; preg_match_all($attrPattern, $attr, $matches, PREG_SET_ORDER); var_dump($matches);
Output for 4.3.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
array(13) { [0]=> array(5) { [0]=> string(7) "target=" [1]=> string(6) "target" [2]=> string(1) "=" [3]=> string(0) "" [4]=> string(0) "" } [1]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [2]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [3]=> array(2) { [0]=> string(6) "parent" [1]=> string(6) "parent" } [4]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [5]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [6]=> array(2) { [0]=> string(8) "data-foo" [1]=> string(8) "data-foo" } [7]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [8]=> array(5) { [0]=> string(9) "data-bar=" [1]=> string(8) "data-bar" [2]=> string(1) "=" [3]=> string(0) "" [4]=> string(0) "" } [9]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [10]=> array(2) { [0]=> string(3) "baz" [1]=> string(3) "baz" } [11]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [12]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } }