function firstChar( $s ) {
		$matches = array();
		preg_match(
			'/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
				'[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})/',
			$s,
			$matches
		);

		if ( isset( $matches[1] ) ) {
			if ( strlen( $matches[1] ) != 3 ) {
				return $matches[1];
			}

			// Break down Hangul syllables to grab the first jamo
			$code = utf8ToCodepoint( $matches[1] );
			if ( $code < 0xac00 || 0xd7a4 <= $code ) {
				return $matches[1];
			} elseif ( $code < 0xb098 ) {
				return "\xe3\x84\xb1";
			} elseif ( $code < 0xb2e4 ) {
				return "\xe3\x84\xb4";
			} elseif ( $code < 0xb77c ) {
				return "\xe3\x84\xb7";
			} elseif ( $code < 0xb9c8 ) {
				return "\xe3\x84\xb9";
			} elseif ( $code < 0xbc14 ) {
				return "\xe3\x85\x81";
			} elseif ( $code < 0xc0ac ) {
				return "\xe3\x85\x82";
			} elseif ( $code < 0xc544 ) {
				return "\xe3\x85\x85";
			} elseif ( $code < 0xc790 ) {
				return "\xe3\x85\x87";
			} elseif ( $code < 0xcc28 ) {
				return "\xe3\x85\x88";
			} elseif ( $code < 0xce74 ) {
				return "\xe3\x85\x8a";
			} elseif ( $code < 0xd0c0 ) {
				return "\xe3\x85\x8b";
			} elseif ( $code < 0xd30c ) {
				return "\xe3\x85\x8c";
			} elseif ( $code < 0xd558 ) {
				return "\xe3\x85\x8d";
			} else {
				return "\xe3\x85\x8e";
			}
		} else {
			return '';
		}
	}
function firstChar( $s ) {
		$matches = array();
		preg_match(
			'/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
				'[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})/',
			$s,
			$matches
		);

		if ( isset( $matches[1] ) ) {
			if ( strlen( $matches[1] ) != 3 ) {
				return $matches[1];
			}

			// Break down Hangul syllables to grab the first jamo
			$code = utf8ToCodepoint( $matches[1] );
			if ( $code < 0xac00 || 0xd7a4 <= $code ) {
				return $matches[1];
			} elseif ( $code < 0xb098 ) {
				return "\xe3\x84\xb1";
			} elseif ( $code < 0xb2e4 ) {
				return "\xe3\x84\xb4";
			} elseif ( $code < 0xb77c ) {
				return "\xe3\x84\xb7";
			} elseif ( $code < 0xb9c8 ) {
				return "\xe3\x84\xb9";
			} elseif ( $code < 0xbc14 ) {
				return "\xe3\x85\x81";
			} elseif ( $code < 0xc0ac ) {
				return "\xe3\x85\x82";
			} elseif ( $code < 0xc544 ) {
				return "\xe3\x85\x85";
			} elseif ( $code < 0xc790 ) {
				return "\xe3\x85\x87";
			} elseif ( $code < 0xcc28 ) {
				return "\xe3\x85\x88";
			} elseif ( $code < 0xce74 ) {
				return "\xe3\x85\x8a";
			} elseif ( $code < 0xd0c0 ) {
				return "\xe3\x85\x8b";
			} elseif ( $code < 0xd30c ) {
				return "\xe3\x85\x8c";
			} elseif ( $code < 0xd558 ) {
				return "\xe3\x85\x8d";
			} else {
				return "\xe3\x85\x8e";
			}
		} else {
			return '';
		}
	}
function firstChar ( $ s ) { $ matches = array ( ) ; preg_match ( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' . '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})/' , $ s , $ matches ) ; if ( isset ( $ matches [ 1 ] ) ) { if ( strlen ( $ matches [ 1 ] ) != 3 ) { return $ matches [ 1 ] ; } // Break down Hangul syllables to grab the first jamo $ code = utf8ToCodepoint ( $ matches [ 1 ] ) ; if ( $ code < 0xac00 || 0xd7a4 <= $ code ) { return $ matches [ 1 ] ; } elseif ( $ code < 0xb098 ) { return "\xe3\x84\xb1" ; } elseif ( $ code < 0xb2e4 ) { return "\xe3\x84\xb4" ; } elseif ( $ code < 0xb77c ) { return "\xe3\x84\xb7" ; } elseif ( $ code < 0xb9c8 ) { return "\xe3\x84\xb9" ; } elseif ( $ code < 0xbc14 ) { return "\xe3\x85\x81" ; } elseif ( $ code < 0xc0ac ) { return "\xe3\x85\x82" ; } elseif ( $ code < 0xc544 ) { return "\xe3\x85\x85" ; } elseif ( $ code < 0xc790 ) { return "\xe3\x85\x87" ; } elseif ( $ code < 0xcc28 ) { return "\xe3\x85\x88" ; } elseif ( $ code < 0xce74 ) { return "\xe3\x85\x8a" ; } elseif ( $ code < 0xd0c0 ) { return "\xe3\x85\x8b" ; } elseif ( $ code < 0xd30c ) { return "\xe3\x85\x8c" ; } elseif ( $ code < 0xd558 ) { return "\xe3\x85\x8d" ; } else { return "\xe3\x85\x8e" ; } } else { return '' ; } }
Get the first character of a string.

@param $s string
@return string
Get the first character of a string .