$re = '/\??(([^\sğ]) ?\w*)(?<![dD]e.il)\s?(mi\s?\??)/m';
$str = '---MATCH---
Ahmet mi?
Ahmet mi ?
Beğendiniz mi?
Değil mi? Michael mi?...
Hadi bakalım. Ahmet mi?
Hadi bakalım, Ahmet mi?
Hadi bakalım. Ahmet mi ?
Hadi bakalım. Olabilir mi?
Michael mi? Neden bana söylemediniz?
---NON-MATCH---
Hadi bakalım. Gelecek olan Ahmet mi?
Bunu beğendiniz mi?
Değil mi?
Olabilir değil mi?
Değil mi ?
Ahmet.mi?
mi?
Mi?
Minik?
Kimi?';
$subst = "$1?";
$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