<?php
$data = <<<DATA
func('name','family,address') , "lorem ipsom, is a..." , ['name','part']
DATA;
$regex = '~
(\w+\([^)]+\)
|
"[^"]+"
|
\[[^]]+\]
(*SKIP)(*FAIL))
|
\h*,\h*
~x';
$parts = preg_split($regex, $data, -1, PREG_SPLIT_DELIM_CAPTURE
| PREG_SPLIT_NO_EMPTY
); ?>
PD9waHAKCiRkYXRhID0gPDw8REFUQQpmdW5jKCduYW1lJywnZmFtaWx5LGFkZHJlc3MnKSAsICJsb3JlbSBpcHNvbSwgaXMgYS4uLiIgLCBbJ25hbWUnLCdwYXJ0J10KREFUQTsKCiRyZWdleCA9ICd+CgkJCShcdytcKFteKV0rXCkKCQkJfAoJCQkiW14iXSsiCgkJCXwKCQkJXFtbXl1dK1xdCgkJCSgqU0tJUCkoKkZBSUwpKQoJCQl8CgkJCVxoKixcaCoKCQl+eCc7CgokcGFydHMgPSBwcmVnX3NwbGl0KCRyZWdleCwgJGRhdGEsIC0xLCBQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUgfCBQUkVHX1NQTElUX05PX0VNUFRZKTsKcHJpbnRfcigkcGFydHMpOwo/Pg==