3v4l.org

run code in 300+ PHP versions simultaneously
<?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 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
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) "" } }

preferences:
262.62 ms | 408 KiB | 337 Q