8 || ! ctype_alnum ( $subtags [1] )) {
return $new_string;
}
if (! ctype_lower ( $subtags [1] )) {
$subtags [1] = strtolower ( $subtags [1] );
}
$new_string .= '-' . $subtags [1];
if ($num_subtags == 2) {
return $new_string;
}
// process all other subtags, index 2 and up
for($i = 2; $i < $num_subtags; $i ++) {
$length = strlen ( $subtags [$i] );
if ($length == 0 || $length > 8 || ! ctype_alnum ( $subtags [$i] )) {
return $new_string;
}
if (! ctype_lower ( $subtags [$i] )) {
$subtags [$i] = strtolower ( $subtags [$i] );
}
$new_string .= '-' . $subtags [$i];
}
return $new_string;
}
}
// vim: et sw=4 sts=4