Il y a plusieurs réponses correctes ici. Mais il n'est pas évident de savoir ce qui est nécessaire, si vous voulez une version "sûre" de substr
,
Même que substr
lorsque la chaîne est "suffisamment longue", mais si la chaîne est trop courte, elle renvoie la chaîne d'origine (au lieu de renvoyer la commande false
).
/** Unlike substr, handles case where $string is too short.
* @param $string
* @param $nChars - negative to return at end of string.
*/
function safe_substr($string, $nChars) {
if ($nChars == 0 || !isset($string))
return "";
if (strlen($string) <= abs($nChars))
// $string is too short (or exactly the desired length). Return the string.
return $string;
return substr($string, $nChars);
}
NOTE : Pour les caractères UTF-8, définissez safe_mb_substr
en remplaçant substr
ci-dessus avec mb_substr
. Et remplacer strlen
avec mb_strlen
.