- substr: documentation ( source)
- var_dump: documentation ( source)
- strpos: documentation ( source)
<?php
$code = 'fr_fr';
var_dump(false === ($pos = strpos($code, '_')) ? $code : substr($code, 0, $pos));
$code = 'fr';
var_dump(false === ($pos = strpos($code, '_')) ? $code : substr($code, 0, $pos));
$code = '_fr';
var_dump(false === ($pos = strpos($code, '_')) ? $code : substr($code, 0, $pos));