Skip to content

Commit d0e23f4

Browse files
[PHP 8.4] Add more explaination for added mbstring functions (#3929)
* [PHP 8.4] mb_[lr]?trim functions trimmed characters and some words modified. Add more explaination for mb_ucfirst and mb_lcfirst functions
1 parent 87ea6d1 commit d0e23f4

File tree

6 files changed

+177
-15
lines changed

6 files changed

+177
-15
lines changed

language-snippets.ent

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3625,6 +3625,146 @@ local: {
36253625
</itemizedlist>
36263626
'>
36273627

3628+
<!ENTITY strings.stripped.unicode '
3629+
<itemizedlist xmlns="http://docbook.org/ns/docbook">
3630+
<listitem>
3631+
<simpara>
3632+
<literal>" "</literal> (<acronym>Unicode</acronym> U+0020), an ordinary space.
3633+
</simpara>
3634+
</listitem>
3635+
<listitem>
3636+
<simpara>
3637+
<literal>"\t"</literal> (<acronym>Unicode</acronym> U+0009), a tab.
3638+
</simpara>
3639+
</listitem>
3640+
<listitem>
3641+
<simpara>
3642+
<literal>"\n"</literal> (<acronym>Unicode</acronym> U+000A), a new line (line feed).
3643+
</simpara>
3644+
</listitem>
3645+
<listitem>
3646+
<simpara>
3647+
<literal>"\r"</literal> (<acronym>Unicode</acronym> U+000D), a carriage return.
3648+
</simpara>
3649+
</listitem>
3650+
<listitem>
3651+
<simpara>
3652+
<literal>"\0"</literal> (<acronym>Unicode</acronym> U+0000), the NUL-byte.
3653+
</simpara>
3654+
</listitem>
3655+
<listitem>
3656+
<simpara>
3657+
<literal>"\v"</literal> (<acronym>Unicode</acronym> U+000B), a vertical tab.
3658+
</simpara>
3659+
</listitem>
3660+
<listitem>
3661+
<simpara>
3662+
<literal>"\f"</literal> (<acronym>Unicode</acronym> U+000C), a form feed.
3663+
</simpara>
3664+
</listitem>
3665+
<listitem>
3666+
<simpara>
3667+
<literal>"\u00A0"</literal> (<acronym>Unicode</acronym> U+00A0), a NO-BREAK SPACE.
3668+
</simpara>
3669+
</listitem>
3670+
<listitem>
3671+
<simpara>
3672+
<literal>"\u1680"</literal> (<acronym>Unicode</acronym> U+1680), a OGHAM SPACE MARK.
3673+
</simpara>
3674+
</listitem>
3675+
<listitem>
3676+
<simpara>
3677+
<literal>"\u2000"</literal> (<acronym>Unicode</acronym> U+2000), a EN QUAD.
3678+
</simpara>
3679+
</listitem>
3680+
<listitem>
3681+
<simpara>
3682+
<literal>"\u2001"</literal> (<acronym>Unicode</acronym> U+2001), a EM QUAD.
3683+
</simpara>
3684+
</listitem>
3685+
<listitem>
3686+
<simpara>
3687+
<literal>"\u2002"</literal> (<acronym>Unicode</acronym> U+2002), a EN SPACE.
3688+
</simpara>
3689+
</listitem>
3690+
<listitem>
3691+
<simpara>
3692+
<literal>"\u2003"</literal> (<acronym>Unicode</acronym> U+2003), a EM SPACE.
3693+
</simpara>
3694+
</listitem>
3695+
<listitem>
3696+
<simpara>
3697+
<literal>"\u2004"</literal> (<acronym>Unicode</acronym> U+2004), a THREE-PER-EM SPACE.
3698+
</simpara>
3699+
</listitem>
3700+
<listitem>
3701+
<simpara>
3702+
<literal>"\u2005"</literal> (<acronym>Unicode</acronym> U+2005), a FOUR-PER-EM SPACE.
3703+
</simpara>
3704+
</listitem>
3705+
<listitem>
3706+
<simpara>
3707+
<literal>"\u2006"</literal> (<acronym>Unicode</acronym> U+2006), a SIX-PER-EM SPACE.
3708+
</simpara>
3709+
</listitem>
3710+
<listitem>
3711+
<simpara>
3712+
<literal>"\u2007"</literal> (<acronym>Unicode</acronym> U+2007), a FIGURE SPACE.
3713+
</simpara>
3714+
</listitem>
3715+
<listitem>
3716+
<simpara>
3717+
<literal>"\u2008"</literal> (<acronym>Unicode</acronym> U+2008), a PUNCTUATION SPACE.
3718+
</simpara>
3719+
</listitem>
3720+
<listitem>
3721+
<simpara>
3722+
<literal>"\u2009"</literal> (<acronym>Unicode</acronym> U+2009), a THIN SPACE.
3723+
</simpara>
3724+
</listitem>
3725+
<listitem>
3726+
<simpara>
3727+
<literal>"\u200A"</literal> (<acronym>Unicode</acronym> U+200A), a HAIR SPACE.
3728+
</simpara>
3729+
</listitem>
3730+
<listitem>
3731+
<simpara>
3732+
<literal>"\u2028"</literal> (<acronym>Unicode</acronym> U+2028), a LINE SEPARATOR.
3733+
</simpara>
3734+
</listitem>
3735+
<listitem>
3736+
<simpara>
3737+
<literal>"\u2029"</literal> (<acronym>Unicode</acronym> U+2029), a PARAGRAPH SEPARATOR.
3738+
</simpara>
3739+
</listitem>
3740+
<listitem>
3741+
<simpara>
3742+
<literal>"\u202F"</literal> (<acronym>Unicode</acronym> U+202F), a NARROW NO-BREAK SPACE.
3743+
</simpara>
3744+
</listitem>
3745+
<listitem>
3746+
<simpara>
3747+
<literal>"\u205F"</literal> (<acronym>Unicode</acronym> U+205F), a MEDIUM MATHEMATICAL SPACE.
3748+
</simpara>
3749+
</listitem>
3750+
<listitem>
3751+
<simpara>
3752+
<literal>"\u3000"</literal> (<acronym>Unicode</acronym> U+3000), a IDEOGRAPHIC SPACE.
3753+
</simpara>
3754+
</listitem>
3755+
<listitem>
3756+
<simpara>
3757+
<literal>"\u0085"</literal> (<acronym>Unicode</acronym> U+0085), a NEXT LINE (NEL).
3758+
</simpara>
3759+
</listitem>
3760+
<listitem>
3761+
<simpara>
3762+
<literal>"\u180E"</literal> (<acronym>Unicode</acronym> U+180E), a MONGOLIAN VOWEL SEPARATOR.
3763+
</simpara>
3764+
</listitem>
3765+
</itemizedlist>
3766+
'>
3767+
36283768
<!ENTITY strings.parameter.characters.optional '
36293769
<simpara xmlns="http://docbook.org/ns/docbook">
36303770
Optionally, the stripped characters can also be specified using
@@ -3634,6 +3774,14 @@ local: {
36343774
</simpara>
36353775
'>
36363776

3777+
<!ENTITY strings.parameter.unicode.optional '
3778+
<simpara xmlns="http://docbook.org/ns/docbook">
3779+
Optionally, the stripped characters can also be specified using
3780+
the <parameter>characters</parameter> parameter.
3781+
Simply list all characters that need to be stripped.
3782+
</simpara>
3783+
'>
3784+
36373785
<!ENTITY strings.parameter.encoding '
36383786
<para xmlns="http://docbook.org/ns/docbook">
36393787
An optional argument defining the encoding used when converting characters.

reference/mbstring/functions/mb-lcfirst.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
<simpara>
1616
Performs a multi-byte safe <function>lcfirst</function> operation,
1717
and returns a string with the first character of
18-
<parameter>string</parameter> lowercased if that character is
19-
an ASCII character in the range <literal>"A"</literal> (0x41) to
20-
<literal>"Z"</literal> (0x5a).
18+
<parameter>string</parameter> lowercased.
2119
</simpara>
2220
</refsect1>
2321

reference/mbstring/functions/mb-ltrim.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
Without the second parameter,
2222
<function>mb_ltrim</function> will strip these characters:
2323
</simpara>
24-
&strings.stripped.characters;
24+
&strings.stripped.unicode;
2525
</refsect1>
2626

2727
<refsect1 role="parameters">
@@ -38,7 +38,7 @@
3838
<varlistentry>
3939
<term><parameter>characters</parameter></term>
4040
<listitem>
41-
&strings.parameter.characters.optional;
41+
&strings.parameter.unicode.optional;
4242
</listitem>
4343
</varlistentry>
4444
<varlistentry>

reference/mbstring/functions/mb-rtrim.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
</simpara>
2121
<simpara>
2222
Without the second parameter,
23-
<function>rtrim</function> will strip these characters:
23+
<function>mb_rtrim</function> will strip these characters:
2424
</simpara>
25-
&strings.stripped.characters;
25+
&strings.stripped.unicode;
2626
</refsect1>
2727

2828
<refsect1 role="parameters">
@@ -39,7 +39,7 @@
3939
<varlistentry>
4040
<term><parameter>characters</parameter></term>
4141
<listitem>
42-
&strings.parameter.characters.optional;
42+
&strings.parameter.unicode.optional;
4343
</listitem>
4444
</varlistentry>
4545
<varlistentry>

reference/mbstring/functions/mb-trim.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
and returns a string with whitespace stripped from the
1919
beginning and end of <parameter>string</parameter>.
2020
Without the second parameter,
21-
<function>trim</function> will strip these characters:
21+
<function>mb_trim</function> will strip these characters:
2222
</simpara>
23-
&strings.stripped.characters;
23+
&strings.stripped.unicode;
2424
</refsect1>
2525

2626
<refsect1 role="parameters">
@@ -37,7 +37,7 @@
3737
<varlistentry>
3838
<term><parameter>characters</parameter></term>
3939
<listitem>
40-
&strings.parameter.characters.optional;
40+
&strings.parameter.unicode.optional;
4141
</listitem>
4242
</varlistentry>
4343
<varlistentry>

reference/mbstring/functions/mb-ucfirst.xml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<refentry xml:id="function.mb-ucfirst" xmlns="http://docbook.org/ns/docbook">
2+
<refentry xml:id="function.mb-ucfirst" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
33
<refnamediv>
44
<refname>mb_ucfirst</refname>
55
<refpurpose>Make a string's first character uppercase</refpurpose>
@@ -15,9 +15,7 @@
1515
<simpara>
1616
Performs a multi-byte safe <function>ucfirst</function> operation,
1717
and returns a string with the first character of
18-
<parameter>string</parameter> capitalized, if that character is
19-
an ASCII character in the range from <literal>"a"</literal> (0x61) to
20-
<literal>"z"</literal> (0x7a).
18+
<parameter>string</parameter> title-cased.
2119
</simpara>
2220
</refsect1>
2321

@@ -50,6 +48,24 @@
5048
</simpara>
5149
</refsect1>
5250

51+
<refsect1 role="notes">
52+
&reftitle.notes;
53+
<note>
54+
<para>
55+
By contrast to the standard case folding functions such as
56+
<function>strtolower</function> and <function>strtoupper</function>,
57+
case folding is performed on the basis of the Unicode character
58+
properties. Thus the behaviour of this function is not affected
59+
by locale settings and it can convert any characters that have
60+
'alphabetic' property, such a-umlaut (ä).
61+
</para>
62+
</note>
63+
<para>
64+
For more information about the Unicode properties, please see <link
65+
xlink:href="&url.unicode.reports;">&url.unicode.reports;</link>.
66+
</para>
67+
</refsect1>
68+
5369
<refsect1 role="seealso">
5470
&reftitle.seealso;
5571
<simplelist>

0 commit comments

Comments
 (0)