$re = '/,(?=\s*(?:"[^"]*"|\'[^\']*\'|\d+)(?:\s*,|\n))/m';
$str = '"mahe,\'ndra", "Gulla" , 40 , \'te,st\', 23
"mahe\',\'ndra", \'Gulla\' , 40 , \'te,"st\', 23
"mahe,n\',,\'dra", \'Gulla\' , 40 , "te,st", 23
\'mahe","ndra\', \'Gu"lla\' , 40 , "te,\'st", 23
';
$subst = "#";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php