utf8_uri_encode()编码Unicode的值,用于URI

目录

描述

译文

为URI中使用的统一码值进行编码

原文

编码 Unicode 的值,用于 URI。

utf8_uri_encode() 描述

用法

<?php utf8_uri_encode$utf8_string$length ?>

utf8_uri_encode() 用法

参数

$utf8_string

(string) (必填)

 认值: None

$length

(integer) (可选) 字符串的  长度

默认值: 0

utf8_uri_encode() 参数

返回值

(string) 

已经将 Unicode 编码的字 

utf8_uri_encode() 返回值

注意

sanitize_title_with_dashes()   个函  化 utf-8  符。

utf8_uri_encode() 注意

历史

添加于 版本: 1.5.0

utf8_uri_encode() 历史

源文件

utf8_uri_encode() 函数的代码位于 wp-includes/formatting.php.

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
/**
 * Encode the Unicode values to be used in the URI.
 *
 * @since 1.5.0
 *
 * @param string $utf8_string
 * @param int    $length Max  length of the string
 * @return string String with Unicode encoded for URI.
 */
function utf8_uri_encode( $utf8_string, $length = 0 ) {
	$unicode = '';
	$values = array();
	$num_octets = 1;
	$unicode_length = 0;

	mbstring_binary_safe_encoding();
	$string_length = strlen( $utf8_string );
	reset_mbstring_encoding();

	for ($i = 0; $i < $string_length;="" $i++="" )="" {="" $value="ord(" $utf8_string[="" $i="" ]="" );="" if="" (="" $value="">< 128="" )="" {="" if="" (="" $length="" &&="" (="" $unicode_length="">= $length ) )
				break;
			$unicode .= chr($value);
			$unicode_length++;
		} else {
			if ( count( $values ) == 0 ) {
				if ( $value < 224="" )="" {="" $num_octets="2;" }="" elseif="" (="" $value="">< 240="" )="" {="" $num_octets="3;" }="" else="" {="" $num_octets="4;" }="" }="" $values[]="$value;" if="" (="" $length="" &&="" (="" $unicode_length="" +="" ($num_octets="" *="" 3)="" )=""> $length )
				break;
			if ( count( $values ) == $num_octets ) {
				for ( $j = 0; $j < $num_octets;="" $j++="" )="" {="" $unicode="" .='%' .="" dechex(="" $values[="" $j="" ]="" );="" }="" $unicode_length="" +="$num_octets" *="" 3;="" $values="array();" $num_octets="1;" }="" }="" }="" return="" $unicode;="" }="">

utf8_uri_encode() 源文件