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