UtfNormalUtil.php ➔ utf8ToHexSequence()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 5
nc 2
nop 1
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * Some of these functions are adapted from places in MediaWiki.
4
 * Should probably merge them for consistency.
5
 *
6
 * Copyright © 2004 Brion Vibber <[email protected]>
7
 * https://www.mediawiki.org/
8
 *
9
 * This program is free software; you can redistribute it and/or modify
10
 * it under the terms of the GNU General Public License as published by
11
 * the Free Software Foundation; either version 2 of the License, or
12
 * (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License along
20
 * with this program; if not, write to the Free Software Foundation, Inc.,
21
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
 * http://www.gnu.org/copyleft/gpl.html
23
 *
24
 * @file
25
 * @ingroup UtfNormal
26
 */
27
28
use UtfNormal\Utils;
29
30
/**
31
 * Return UTF-8 sequence for a given Unicode code point.
32
 *
33
 * @param int $codepoint
34
 * @return string
35
 * @throws InvalidArgumentException if fed out of range data.
36
 * @public
37
 * @deprecated since 1.25, use UtfNormal\Utils directly
38
 */
39
function codepointToUtf8( $codepoint ) {
40
	return Utils::codepointToUtf8( $codepoint );
41
}
42
43
/**
44
 * Take a series of space-separated hexadecimal numbers representing
45
 * Unicode code points and return a UTF-8 string composed of those
46
 * characters. Used by UTF-8 data generation and testing routines.
47
 *
48
 * @param string $sequence
49
 * @return string
50
 * @throws InvalidArgumentException if fed out of range data.
51
 * @private
52
 * @deprecated since 1.25, use UtfNormal\Utils directly
53
 */
54
function hexSequenceToUtf8( $sequence ) {
55
	return Utils::hexSequenceToUtf8( $sequence );
56
}
57
58
/**
59
 * Take a UTF-8 string and return a space-separated series of hex
60
 * numbers representing Unicode code points. For debugging.
61
 *
62
 * @fixme this is private but extensions + maint scripts are using it
63
 * @param string $str UTF-8 string.
64
 * @return string
65
 * @private
66
 */
67
function utf8ToHexSequence( $str ) {
68
	$buf = '';
69
	foreach ( preg_split( '//u', $str, -1, PREG_SPLIT_NO_EMPTY ) as $cp ) {
70
		$buf .= sprintf( '%04x ', UtfNormal\Utils::utf8ToCodepoint( $cp ) );
71
	}
72
73
	return rtrim( $buf );
74
}
75
76
/**
77
 * Determine the Unicode codepoint of a single-character UTF-8 sequence.
78
 * Does not check for invalid input data.
79
 *
80
 * @param string $char
81
 * @return int
82
 * @public
83
 * @deprecated since 1.25, use UtfNormal\Utils directly
84
 */
85
function utf8ToCodepoint( $char ) {
86
	return Utils::utf8ToCodepoint( $char );
87
}
88
89
/**
90
 * Escape a string for inclusion in a PHP single-quoted string literal.
91
 *
92
 * @param string $string string to be escaped.
93
 * @return String: escaped string.
0 ignored issues
show
Documentation introduced by
The doc-type String: could not be parsed: Unknown type name "String:" at position 0. (view supported doc-types)

This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types.

Loading history...
94
 * @public
95
 * @deprecated since 1.25, use UtfNormal\Utils directly
96
 */
97
function escapeSingleString( $string ) {
98
	return Utils::escapeSingleString( $string );
99
}
100