I come from update my Coder module to the v1.3 and when I go to check one custom module I see the following message:
Line 71: in most cases, replace the string function with the drupal_ equivalent string functions
$node_type = substr($form_id, 0, -10);
Line 187: in most cases, replace the string function with the drupal_ equivalent string functions
$info->language = ($info->language == 'und' || empty($info->language)) ? t('Undetermined') : ucfirst($info->language);
So, why I need to use the drupal_substr() and drupal_ucfirst() in this case? And in general why to use the drupal_ equivalent functions when we have the php functions?