mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-19 02:18:56 +00:00

on how strings behave. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@32419 c90b9560-bf6c-de11-be94-00142212c4b1
3002 lines
93 KiB
XML
3002 lines
93 KiB
XML
<reference id="ref.strings">
|
||
<title>String functions</title>
|
||
<titleabbrev>Strings</titleabbrev>
|
||
|
||
<partintro>
|
||
<simpara>
|
||
These functions all manipulate strings in various ways. Some more
|
||
specialized sections can be found in the regular expression and
|
||
URL handling sections.
|
||
</simpara>
|
||
|
||
<para>
|
||
For information on how strings behave, especially with regard to
|
||
usage of single quotes, double quotes, and escape sequences, see
|
||
the <link linkend="language.types.string">Strings</link> entry in
|
||
the <link linkend="language.types">Types</link> section of the
|
||
manual.
|
||
</para>
|
||
</partintro>
|
||
|
||
<refentry id="function.addcslashes">
|
||
<refnamediv>
|
||
<refname>AddCSlashes</refname>
|
||
<refpurpose>Quote string with slashes in a C style</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>addcslashes</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>string <parameter>charlist</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns a string with backslashes before characters that are
|
||
listed in <parameter>charlist</parameter> parameter. It escapes
|
||
<literal>\n</literal>, <literal>\r</literal> etc. in C-like
|
||
style, characters with ASCII code lower than 32 and higher than
|
||
126 are converted to octal representation. Be carefull when
|
||
escaping alphanumeric characters. You can specify a range in
|
||
<parameter>charlist</parameter> like "\0..\37", which would
|
||
escape all characters with ASCII code between 0 and 31.
|
||
<example>
|
||
<title><function>Addcslashes</function> example</title>
|
||
<programlisting role="php">
|
||
$escaped = addcslashes ($not_escaped, "\0..\37!@\177..\377");
|
||
</programlisting>
|
||
</example>
|
||
<note>
|
||
<simpara>
|
||
Added in PHP4b3-dev.</simpara>
|
||
</note>
|
||
</para>
|
||
<para>
|
||
See also <function>stripcslashes</function>,
|
||
<function>stripslashes</function>,
|
||
<function>htmlspecialchars</function>,
|
||
<function>htmlspecialchars</function>, and
|
||
<function>quotemeta</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.addslashes">
|
||
<refnamediv>
|
||
<refname>AddSlashes</refname>
|
||
<refpurpose>Quote string with slashes</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>addslashes</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns a string with backslashes before characters that need
|
||
to be quoted in database queries etc. These characters are
|
||
single quote (<literal>'</literal>), double quote
|
||
(<literal>"</literal>), backslash (<literal>\</literal>)
|
||
and NUL (the null byte).
|
||
</para>
|
||
<para>
|
||
See also <function>stripslashes</function>,
|
||
<function>htmlspecialchars</function>, and
|
||
<function>quotemeta</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.bin2hex">
|
||
<refnamediv>
|
||
<refname>bin2hex</refname>
|
||
<refpurpose>
|
||
Convert binary data into hexadecimal representation
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>bin2hex</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns an ASCII string containing the hexadecimal representation
|
||
of <parameter>str</parameter>. The conversion is done byte-wise
|
||
with the high-nibble first.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.chop">
|
||
<refnamediv>
|
||
<refname>Chop</refname>
|
||
<refpurpose>Remove trailing whitespace</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>chop</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns the argument string without trailing whitespace,
|
||
including newlines.
|
||
<example>
|
||
<title><function>Chop</function> example</title>
|
||
<programlisting role="php">
|
||
$trimmed = chop ($line);
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<note>
|
||
<para>
|
||
<function>chop</function> is different than the Perl
|
||
<parameter>chop()</parameter> function, which removes the last
|
||
character in the string.
|
||
</para>
|
||
</note>
|
||
<para>
|
||
See also <function>trim</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.chr">
|
||
<refnamediv>
|
||
<refname>Chr</refname>
|
||
<refpurpose>Return a specific character</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>chr</function></funcdef>
|
||
<paramdef>int <parameter>ascii</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns a one-character string containing the character specified
|
||
by <parameter>ascii</parameter>.
|
||
<example>
|
||
<title><function>Chr</function> example</title>
|
||
<programlisting role="php">
|
||
$str .= chr (27); /* add an escape character at the end of $str */
|
||
|
||
/* Often this is more useful */
|
||
|
||
$str = sprintf ("The string ends in escape: %c", 27);
|
||
</programlisting>
|
||
</example>
|
||
This function complements <function>ord</function>. See also
|
||
<function>sprintf</function> with a format string of
|
||
<literal>%c</literal>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.chunk-split">
|
||
<refnamediv>
|
||
<refname>chunk_split</refname>
|
||
<refpurpose>Split a string into smaller chunks</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>chunk_split</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>chunklen</optional></parameter>
|
||
</paramdef>
|
||
<paramdef>string
|
||
<parameter><optional>end</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Can be used to split a string into smaller chunks which is useful
|
||
for e.g. converting <link
|
||
linkend="function.base64-encode">base64_encode</link> output to
|
||
match RFC 2045 semantics. It inserts every
|
||
<parameter>chunklen</parameter> (defaults to 76) chars the string
|
||
<parameter>end</parameter> (defaults to "\r\n"). It returns the
|
||
new string leaving the original string untouched.
|
||
<example>
|
||
<title><function>Chunk_split</function> example</title>
|
||
<programlisting role="php">
|
||
# format $data using RFC 2045 semantics
|
||
|
||
$new_string = chunk_split (base64_encode($data));
|
||
</programlisting>
|
||
</example>
|
||
This function is significantly faster than
|
||
<function>ereg_replace</function>.
|
||
<note>
|
||
<para>
|
||
This function was added in 3.0.6.
|
||
</para>
|
||
</note>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.convert-cyr-string">
|
||
<refnamediv>
|
||
<refname>convert_cyr_string</refname>
|
||
<refpurpose>
|
||
Convert from one Cyrillic character set to another
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>convert_cyr_string</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>string <parameter>from</parameter></paramdef>
|
||
<paramdef>string <parameter>to</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function converts the given string from one Cyrillic
|
||
character set to another. The <parameter>from</parameter> and
|
||
<parameter>to</parameter> arguments are single characters that
|
||
represent the source and target Cyrillic character sets. The
|
||
supported types are:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
k - koi8-r
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
w - windows-1251
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
i - iso8859-5
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
a - x-cp866
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
d - x-cp866
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
m - x-mac-cyrillic
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.count-chars">
|
||
<refnamediv>
|
||
<refname>count_chars</refname>
|
||
<refpurpose>
|
||
Return information abouts characters used in a string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>mixed <function>count_chars</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
<paramdef>
|
||
<parameter>
|
||
<optional>mode</optional>
|
||
</parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Counts the number of occurances of every byte-value (0..255) in
|
||
<parameter>string</parameter> and returns it in various ways.
|
||
The optional parameter <parameter>Mode</parameter> default to
|
||
0. Depending on <parameter>mode</parameter>
|
||
<function>count_chars</function> returns one of the following:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
0 - an array with the byte-value as key and the freqency of
|
||
every byte as value.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
1 - same as 0 but only byte-values with a frequency greater
|
||
than zero are listed.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
2 - same as 0 but only byte-values with a frequency equal to
|
||
zero are listed.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
3 - a string containing all used byte-values is returned.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
4 - a string containing all not used byte-values is returned.
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<note>
|
||
<para>
|
||
This function was added in PHP 4.0.
|
||
</para>
|
||
</note>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.crc32">
|
||
<refnamediv>
|
||
<refname>crc32</refname>
|
||
<refpurpose>Calculates the crc32 polynomial of a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>crc32</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Generates the cyclic redundancy checksum polynomial of 32-bit lengths of
|
||
the <parameter>str</parameter>. This is usually used to validate the
|
||
integrity of data being trasmited.
|
||
</para>
|
||
<para>
|
||
See also: <function>md5</function>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.crypt">
|
||
<refnamediv>
|
||
<refname>crypt</refname>
|
||
<refpurpose>DES-encrypt a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>crypt</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>string
|
||
<parameter><optional>salt</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
<function>crypt</function> will encrypt a string using the
|
||
standard Unix <abbrev>DES</abbrev> encryption method. Arguments
|
||
are a string to be encrypted and an optional two-character salt
|
||
string to base the encryption on. See the Unix man page for your
|
||
crypt function for more information.
|
||
</para>
|
||
<simpara>
|
||
If the salt argument is not provided, one will be randomly
|
||
generated by PHP.
|
||
</simpara>
|
||
<simpara>
|
||
Some operating systems support more than one type of encryption.
|
||
In fact, sometimes the standard DES encryption is replaced by an
|
||
MD5 based encryption algorithm. The encryption type is triggered
|
||
by the salt argument. At install time, PHP determines the
|
||
capabilities of the crypt function and will accept salts for
|
||
other encryption types. If no salt is provided, PHP will
|
||
auto-generate a standard 2-character DES salt by default, unless
|
||
the default encryption type on the system is MD5, in which case a
|
||
random MD5-compatible salt is generated. PHP sets a constant
|
||
named CRYPT_SALT_LENGTH which tells you whether a regular
|
||
2-character salt applies to your system or the longer 12-char MD5
|
||
salt is applicable.
|
||
</simpara>
|
||
<simpara>
|
||
If you are using the supplied salt, you should be aware that the
|
||
salt is generated once. If you are calling this function
|
||
recursively, this may impact both appearance and, to a certain
|
||
extent, security.
|
||
</simpara>
|
||
<simpara>
|
||
The standard DES encryption <function>crypt</function> contains
|
||
the salt as the first two characters of the output.
|
||
</simpara>
|
||
<simpara>
|
||
On systems where the crypt() function supports multiple
|
||
encryption types, the following constants are set to 0 or 1
|
||
depending on whether the given type is available:
|
||
</simpara>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
CRYPT_STD_DES - Standard DES encryption with a 2-char SALT
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
CRYPT_EXT_DES - Extended DES encryption with a 9-char SALT
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
CRYPT_MD5 - MD5 encryption with a 12-char SALT starting with
|
||
$1$
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
CRYPT_BLOWFISH - Extended DES encryption with a 16-char SALT
|
||
starting with $2$
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<simpara>
|
||
There is no decrypt function, since <function>crypt</function>
|
||
uses a one-way algorithm.
|
||
</simpara>
|
||
<simpara>
|
||
See also: <function>md5</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.echo">
|
||
<refnamediv>
|
||
<refname>echo</refname>
|
||
<refpurpose>Output one or more strings</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef><function>echo</function></funcdef>
|
||
<paramdef>string <parameter>arg1</parameter></paramdef>
|
||
<paramdef>string
|
||
<parameter><optional>argn</optional>...</parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
Outputs all parameters.
|
||
</simpara>
|
||
<para>
|
||
<function>Echo</function> is not actually a function (it is a
|
||
language construct) so you are not required to use parantheses
|
||
with it.
|
||
<example>
|
||
<title><function>Echo</function> example</title>
|
||
<programlisting role="php">
|
||
echo "Hello World";
|
||
|
||
echo "This spans
|
||
multiple lines. The newlines will be
|
||
output as well";
|
||
|
||
echo "This spans\nmultiple lines. The newlines will be\noutput as well.";
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<note>
|
||
<para>
|
||
In fact, if you want to pass more than one parameter to echo,
|
||
you must not enclose the parameters within parentheses.
|
||
</para>
|
||
</note>
|
||
<simpara>
|
||
See also:
|
||
<function>print</function>,
|
||
<function>printf</function>, and
|
||
<function>flush</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.explode">
|
||
<refnamediv>
|
||
<refname>explode</refname>
|
||
<refpurpose>Split a string by string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>array <function>explode</function></funcdef>
|
||
<paramdef>string <parameter>separator</parameter></paramdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>limit</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns an array of strings, each of which is a substring of
|
||
<parameter>string</parameter> formed by splitting it on boundaries formed
|
||
by the string <parameter>delim</parameter>.
|
||
If <parameter>limit</parameter> is set, the returned array will contaion
|
||
a maximum of <parameter>limit</parameter> elements with the last element
|
||
containing the whole rest of <parameter>string</parameter>.
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title><function>Explode</function> example</title>
|
||
<programlisting role="php">
|
||
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
|
||
$pieces = explode (" ", $pizza);
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also <function>split</function> and
|
||
<function>implode</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.get-html-translation-table">
|
||
<refnamediv>
|
||
<refname>get_html_translation_table</refname>
|
||
<refpurpose>
|
||
Returns the translation table used by
|
||
<function>htmlspecialchars</function> and
|
||
<function>htmlentities</function>
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string
|
||
<function>get_html_translation_table</function>
|
||
</funcdef>
|
||
<paramdef>int <parameter>table</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
<function>get_html_translation_table</function> will return the
|
||
translation table that is used internally for
|
||
<function>htmlspecialchars</function> and
|
||
<function>htmlentities</function>. Ther are two new defines
|
||
(<parameter>HTML_ENTITIES</parameter>,
|
||
<parameter>HTML_SPECIALCHARS</parameter>) that allow you to
|
||
specify the table you want.
|
||
<example>
|
||
<title>Translation Table Example</title>
|
||
<programlisting role="php">
|
||
$trans = get_html_translation_table (HTML_ENTITIES);
|
||
$str = "Hallo & <Frau> & Krämer";
|
||
$encoded = strtr ($str, $trans);
|
||
</programlisting>
|
||
</example>
|
||
The <literal>$encoded</literal> variable will now contain: "Hallo
|
||
&<sgmltag>amp</sgmltag>;
|
||
&<sgmltag>lt</sgmltag>;Frau&<sgmltag>gt</sgmltag>;
|
||
&<sgmltag>amp</sgmltag>; Kr&<sgmltag>auml</sgmltag>;mer".
|
||
</para>
|
||
<para>
|
||
The cool thing is using <function>array_flip</function> to change
|
||
the direction of the translation.
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
$trans = array_flip ($trans);
|
||
$original = strtr ($str, $trans);
|
||
</programlisting>
|
||
</informalexample>
|
||
The content of <literal>$original</literal> would be: "Hallo &
|
||
<Frau> & Krämer".
|
||
<note>
|
||
<para>
|
||
This function was added in PHP 4.0.
|
||
</para>
|
||
</note>
|
||
</para>
|
||
<para>
|
||
See also: <function>htmlspecialchars</function>,
|
||
<function>htmlentities</function>, <function>strtr</function>,
|
||
and <function>array_flip</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.get-meta-tags">
|
||
<refnamediv>
|
||
<refname>get_meta_tags</refname>
|
||
<refpurpose>
|
||
Extracts all meta tag content attributes from a file and returns
|
||
an array
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>array <function>get_meta_tags</function></funcdef>
|
||
<paramdef>string <parameter>filename</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>use_include_path</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Opens <parameter>filename</parameter> and parses it line by line
|
||
for <meta> tags of the form
|
||
<example>
|
||
<title>Meta Tags Example</title>
|
||
<programlisting role="html">
|
||
<meta name="author" content="name">
|
||
<meta name="tags" content="php3 documentation">
|
||
</head> <!-- parsing stops here -->
|
||
</programlisting>
|
||
</example>
|
||
(pay attention to line endings - PHP uses a native function to
|
||
parse the input, so a Mac file won't work on Unix).
|
||
</para>
|
||
<para>
|
||
The value of the name property becomes the key, the value of the
|
||
content property becomes the value of the returned array, so you
|
||
can easily use standard array functions to traverse it or access
|
||
single values. Special characters in the value of the name
|
||
property are substituted with '_', the rest is converted to lower
|
||
case.
|
||
</para>
|
||
<para>
|
||
Setting <parameter>use_include_path</parameter> to 1 will result
|
||
in PHP trying to open the file along the standard include path.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.hebrev">
|
||
<refnamediv>
|
||
<refname>hebrev</refname>
|
||
<refpurpose>
|
||
Convert logical Hebrew text to visual text
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>hebrev</function></funcdef>
|
||
<paramdef>string <parameter>hebrew_text</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>max_chars_per_line</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
The optional parameter <parameter>max_chars_per_line</parameter>
|
||
indicates maximum number of characters per line will be output. The
|
||
function tries to avoid breaking words.
|
||
</para>
|
||
<para>
|
||
See also <function>hebrevc</function>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.hebrevc">
|
||
<refnamediv>
|
||
<refname>hebrevc</refname>
|
||
<refpurpose>
|
||
Convert logical Hebrew text to visual text with newline conversion
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>hebrevc</function></funcdef>
|
||
<paramdef>string <parameter>hebrew_text</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>max_chars_per_line</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function is similar to <function>hebrev</function> with the
|
||
difference that it converts newlines (\n) to "<br>\n".
|
||
The optional parameter <parameter>max_chars_per_line</parameter>
|
||
indicates maximum number of characters per line will be output. The
|
||
function tries to avoid breaking words.
|
||
</para>
|
||
<para>
|
||
See also <function>hebrev</function>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.htmlentities">
|
||
<refnamediv>
|
||
<refname>htmlentities</refname>
|
||
<refpurpose>
|
||
Convert all applicable characters to HTML entities
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>htmlentities</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function is identical to
|
||
<function>Htmlspecialchars</function> in all ways, except that
|
||
all characters which have HTML entity equivalents are translated
|
||
into these entities.
|
||
</para>
|
||
<para>
|
||
At present, the ISO-8859-1 character set is used.
|
||
</para>
|
||
<para>
|
||
See also <function>htmlspecialchars</function> and
|
||
<function>nl2br</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.htmlspecialchars">
|
||
<refnamediv>
|
||
<refname>htmlspecialchars</refname>
|
||
<refpurpose>
|
||
Convert special characters to HTML entities
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>htmlspecialchars</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Certain characters have special significance in HTML, and should
|
||
be represented by HTML entities if they are to preserve their
|
||
meanings. This function returns a string with these conversions
|
||
made.
|
||
</para>
|
||
<simpara>
|
||
This function is useful in preventing user-supplied text from
|
||
containing HTML markup, such as in a message board or guest book
|
||
application.
|
||
</simpara>
|
||
<para>
|
||
At present, the translations that are done are:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
'&' (ampersand) becomes '&amp;'
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
'"' (double quote) becomes '&quot;'
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
'<' (less than) becomes '&lt;'
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
'>' (greater than) becomes '&gt;'
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
Note that this functions does not translate anything beyond what
|
||
is listed above. For full entity translation, see
|
||
<function>htmlentities</function>.
|
||
</para>
|
||
<para>
|
||
See also <function>htmlentities</function> and
|
||
<function>nl2br</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.implode">
|
||
<refnamediv>
|
||
<refname>implode</refname>
|
||
<refpurpose>Join array elements with a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>implode</function></funcdef>
|
||
<paramdef>string <parameter>glue</parameter></paramdef>
|
||
<paramdef>array <parameter>pieces</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns a string containing a string representation of all the
|
||
array elements in the same order, with the glue string between
|
||
each element.
|
||
<example>
|
||
<title><function>Implode</function> example</title>
|
||
<programlisting role="php">
|
||
$colon_separated = implode (":", $array);
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<simpara>
|
||
See also <function>explode</function>, <function>join</function>,
|
||
and <function>split</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.join">
|
||
<refnamediv>
|
||
<refname>join</refname>
|
||
<refpurpose>Join array elements with a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>join</function></funcdef>
|
||
<paramdef>string <parameter>glue</parameter></paramdef>
|
||
<paramdef>array <parameter>pieces</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
<function>join</function> is an alias to
|
||
<function>implode</function>, and is identical in every way.
|
||
</simpara>
|
||
<simpara>
|
||
See also <function>explode</function>, <function>implode</function>,
|
||
and <function>split</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.levenshtein">
|
||
<refnamediv>
|
||
<refname>levenshtein</refname>
|
||
<refpurpose>
|
||
Calculate Levenshtein distance between two strings
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>levenshtein</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function return the Levenshtein-Distance between the two
|
||
argument strings or -1, if one of the argument strings is longer
|
||
than the limit of 255 characters.
|
||
</para>
|
||
<para>
|
||
The Levenshtein distance is defined as the minimal number of
|
||
characters you have to replace, insert or delete to transform
|
||
<parameter>str1</parameter> into <parameter>str2</parameter>.
|
||
The complexity of the algorithm is <literal>O(m*n)</literal>,
|
||
where <literal>n</literal> and <literal>m</literal> are the
|
||
length of <parameter>str1</parameter> and
|
||
<parameter>str2</parameter> (rather good when compared to
|
||
<function>similar_text</function>, which is O(max(n,m)**3), but
|
||
still expensive).
|
||
</para>
|
||
<para>
|
||
See also <function>soundex</function>,
|
||
<function>similar_text</function> and
|
||
<function>metaphone</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.ltrim">
|
||
<refnamediv>
|
||
<refname>ltrim</refname>
|
||
<refpurpose>
|
||
Strip whitespace from the beginning of a string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>ltrim</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function strips whitespace from the start of a string and
|
||
returns the stripped string. The whitespace
|
||
characters it currently strips are: "\n", "\r", "\t", "\v", "\0",
|
||
and a plain space.
|
||
</para>
|
||
<para>
|
||
See also <function>chop</function> and <function>trim</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.md5">
|
||
<refnamediv>
|
||
<refname>md5</refname>
|
||
<refpurpose>Calculate the md5 hash of a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>md5</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Calculates the MD5 hash of <parameter>str</parameter> using the
|
||
<ulink url="&url.rfc;rfc1321.html">RSA Data Security, Inc.
|
||
MD5 Message-Digest Algorithm</ulink>.
|
||
</para>
|
||
<para>
|
||
See also: <function>crc32</function>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.metaphone">
|
||
<refnamediv>
|
||
<refname>Metaphone</refname>
|
||
<refpurpose>Calculate the metaphone key of a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>metaphone</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Calculates the metaphone key of <parameter>str</parameter>.
|
||
</para>
|
||
<para>
|
||
Similar to <function>soundex</function> metaphone creates the
|
||
same key for similar sounding words. It's more accurate than
|
||
<function>soundex</function> as it knows the basic rules of
|
||
English pronunciation. The metaphone generated keys are of
|
||
variable length.
|
||
</para>
|
||
<para>
|
||
Metaphone was developed by Lawrence Philips
|
||
<lphilips@verity.com>. It is described in ["Practical
|
||
Algorithms for Programmers", Binstock & Rex, Addison Wesley,
|
||
1995].
|
||
<note>
|
||
<para>
|
||
This function was added in PHP 4.0.
|
||
</para>
|
||
</note>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.nl2br">
|
||
<refnamediv>
|
||
<refname>nl2br</refname>
|
||
<refpurpose>Converts newlines to HTML line breaks</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>nl2br</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns <parameter>string</parameter> with '<BR>' inserted
|
||
before all newlines.
|
||
</para>
|
||
<para>
|
||
See also <function>htmlspecialchars</function>,
|
||
<function>htmlentities</function> and
|
||
<function>wordwrap</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.ord">
|
||
<refnamediv>
|
||
<refname>Ord</refname>
|
||
<refpurpose>Return ASCII value of character</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>ord</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns the ASCII value of the first character of
|
||
<parameter>string</parameter>. This function complements
|
||
<function>chr</function>.
|
||
<example>
|
||
<title><function>Ord</function> example</title>
|
||
<programlisting role="php">
|
||
if (ord ($str) == 10) {
|
||
echo "The first character of \$str is a line feed.\n";
|
||
}
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<simpara>
|
||
See also <function>chr</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.parse-str">
|
||
<refnamediv>
|
||
<refname>parse_str</refname>
|
||
<refpurpose>Parses the string into variables</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>void <function>parse_str</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Parses <parameter>str</parameter> as if it were the query string
|
||
passed via an URL and sets variables in the current scope.
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>Using <function>parse_str</function></title>
|
||
<programlisting role="php">
|
||
$str = "first=value&second[]=this+works&second[]=another";
|
||
parse_str($str);
|
||
echo $first; /* prints "value" */
|
||
echo $second[0]; /* prints "this works" */
|
||
echo $second[1]; /* prints "another" */
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<note>
|
||
<para>
|
||
This currently requires
|
||
<link linkend="ini.register-globals">register_globals</link>=on
|
||
to be set in <filename>php.ini</filename>, this behaviour may
|
||
change in the future (After 4.0.2) and this function might well
|
||
also return an array of values.
|
||
</para>
|
||
</note>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.print">
|
||
<refnamediv>
|
||
<refname>print</refname>
|
||
<refpurpose>Output a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef><function>print</function></funcdef>
|
||
<paramdef>string <parameter>arg</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
Outputs <parameter>arg</parameter>.
|
||
</simpara>
|
||
<simpara>
|
||
See also: <function>echo</function>, <function>printf</function>,
|
||
and <function>flush</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.printf">
|
||
<refnamediv>
|
||
<refname>printf</refname>
|
||
<refpurpose>Output a formatted string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>printf</function></funcdef>
|
||
<paramdef>string <parameter>format</parameter></paramdef>
|
||
<paramdef>mixed
|
||
<parameter><optional>args</optional></parameter>...
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
Produces output according to <parameter>format</parameter>, which
|
||
is described in the documentation for <function>sprintf</function>.
|
||
</simpara>
|
||
<simpara>
|
||
See also: <function>print</function>, <function>sprintf</function>,
|
||
<function>sscanf</function>, <function>fscanf</function>,
|
||
and <function>flush</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.quoted-printable-decode">
|
||
<refnamediv>
|
||
<refname>quoted_printable_decode</refname>
|
||
<refpurpose>
|
||
Convert a quoted-printable string to an 8 bit string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string
|
||
<function>quoted_printable_decode</function>
|
||
</funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
This function returns an 8-bit binary string corresponding to the
|
||
decoded quoted printable string. This function is similar to
|
||
<function>imap_qprint</function>, except this one does not
|
||
require the IMAP module to work.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.quotemeta">
|
||
<refnamediv>
|
||
<refname>quotemeta</refname>
|
||
<refpurpose>Quote meta characters</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>quotemeta</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns a version of str with a backslash character
|
||
(<literal>\</literal>) before every character that is among
|
||
these: <screen>. \\ + * ? [ ^ ] ( $ )</screen>
|
||
</para>
|
||
<simpara>
|
||
See also <function>addslashes</function>,
|
||
<function>htmlentities</function>,
|
||
<function>htmlspecialchars</function>,
|
||
<function>nl2br</function>, and
|
||
<function>stripslashes</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.rtrim">
|
||
<refnamediv>
|
||
<refname>rtrim</refname>
|
||
<refpurpose>Remove trailing whitespace.</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcdef>string <function>rtrim</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns the argument string without trailing whitespace,
|
||
including newlines. This is an alias for <function>chop</function>.
|
||
<example>
|
||
<title><function>rtrim</function> example</title>
|
||
<programlisting role="php">
|
||
$trimmed = rtrim ($line);
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also <function>trim</function>, <function>ltrim</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.sscanf">
|
||
<refnamediv>
|
||
<refname>sscanf</refname>
|
||
<refpurpose>Parses input from a string according to a format</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>mixed <function>sscanf</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>string <parameter>format</parameter></paramdef>
|
||
<paramdef>string
|
||
<parameter><optional>var1</optional></parameter>...
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
The function <function>sscanf</function> is the input analog of
|
||
<function>printf</function>. <function>Sscanf</function> reads from
|
||
the string <parameter>str</parameter> and interprets it according to
|
||
the specified <parameter>format</parameter>. If only two parameters were
|
||
passed to this function, the values parsed will be returned as an array.
|
||
<example>
|
||
<title><function>Sscanf</function> Example</title>
|
||
<programlisting role="php">
|
||
// getting the serial number
|
||
$serial = sscanf("SN/2350001","SN/%d");
|
||
// and the date of manufacturing
|
||
$mandate = "January 01 2000";
|
||
list($month, $day, $year) = sscanf($mandate,"%s %d %d");
|
||
echo "Item $serial was manufactured on: $year-".substr($month,0,3)."-$day\n";
|
||
</programlisting>
|
||
</example>
|
||
If optional parameters are passed, the function will return the number of
|
||
assigned values. The optional parameters must be passed by reference.
|
||
<example>
|
||
<title><function>Sscanf</function> - using optional parameters</title>
|
||
<programlisting role="php">
|
||
// get author info and generate DocBook entry
|
||
$auth = "24\tLewis Carroll";
|
||
$n = sscanf($auth,"%d\t%s %s", &$id, &$first, &$last);
|
||
echo "<author id='$id'>
|
||
<firstname>$first</firstname>
|
||
<surname>$last</surname>
|
||
</author>\n";
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also: <function>fscanf</function>, <function>printf</function>,
|
||
and <function>sprintf</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.setlocale">
|
||
<refnamediv>
|
||
<refname>setlocale</refname>
|
||
<refpurpose>Set locale information</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>setlocale</function></funcdef>
|
||
<paramdef>string <parameter>category</parameter></paramdef>
|
||
<paramdef>string <parameter>locale</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
<parameter>Category</parameter> is a string specifying the
|
||
category of the functions affected by the locale setting:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
LC_ALL for all of the below
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
LC_COLLATE for string comparison - not currently implemented in PHP
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
LC_CTYPE for character classification and conversion, for
|
||
example <function>strtoupper</function>
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
LC_MONETARY for localeconv() - not currently implemented in
|
||
PHP
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
LC_NUMERIC for decimal separator
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
LC_TIME for date and time formatting with
|
||
<function>strftime</function>
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<para>
|
||
If <parameter>locale</parameter> is the empty string
|
||
<literal>""</literal>, the locale names will be set from the
|
||
values of environment variables with the same names as the above
|
||
categories, or from "LANG".
|
||
</para>
|
||
<para>
|
||
If locale is zero or <literal>"0"</literal>, the locale setting
|
||
is not affected, only the current setting is returned.
|
||
</para>
|
||
<para>
|
||
Setlocale returns the new current locale, or false if the locale
|
||
functionality is not implemented in the plattform, the specified
|
||
locale does not exist or the category name is invalid.
|
||
An invalid category name also causes a warning message.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.similar-text">
|
||
<refnamediv>
|
||
<refname>similar_text</refname>
|
||
<refpurpose>
|
||
Calculate the similarity between two strings
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>similar_text</function></funcdef>
|
||
<paramdef>string <parameter>first</parameter></paramdef>
|
||
<paramdef>string <parameter>second</parameter></paramdef>
|
||
<paramdef>double
|
||
<parameter><optional>percent</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This calculates the similarity between two strings as described
|
||
in Oliver [1993]. Note that this implementation does not use a
|
||
stack as in Oliver's pseudo code, but recursive calls which may
|
||
or may not speed up the whole process. Note also that the
|
||
complexity of this algorithm is O(N**3) where N is the length of
|
||
the longest string.
|
||
</para>
|
||
<para>
|
||
By passing a reference as third argument,
|
||
<function>similar_text</function> will calculate the similarity
|
||
in percent for you. It returns the number of matching chars in
|
||
both strings.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.soundex">
|
||
<refnamediv>
|
||
<refname>soundex</refname>
|
||
<refpurpose>Calculate the soundex key of a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>soundex</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Calculates the soundex key of <parameter>str</parameter>.
|
||
</para>
|
||
<para>
|
||
Soundex keys have the property that words pronounced similarly
|
||
produce the same soundex key, and can thus be used to simplify
|
||
searches in databases where you know the pronunciation but not
|
||
the spelling. This soundex function returns a string 4 characters
|
||
long, starting with a letter.
|
||
</para>
|
||
<para>
|
||
This particular soundex function is one described by Donald Knuth
|
||
in "The Art Of Computer Programming, vol. 3: Sorting And
|
||
Searching", Addison-Wesley (1973), pp. 391-392.
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>Soundex Examples</title>
|
||
<programlisting role="php">
|
||
soundex ("Euler") == soundex ("Ellery") == 'E460';
|
||
soundex ("Gauss") == soundex ("Ghosh") == 'G200';
|
||
soundex ("Knuth") == soundex ("Kant") == 'H416';
|
||
soundex ("Lloyd") == soundex ("Ladd") == 'L300';
|
||
soundex ("Lukasiewicz") == soundex ("Lissajous") == 'L222';
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.sprintf">
|
||
<refnamediv>
|
||
<refname>sprintf</refname>
|
||
<refpurpose>Return a formatted string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>sprintf</function></funcdef>
|
||
<paramdef>string <parameter>format</parameter></paramdef>
|
||
<paramdef>mixed
|
||
<parameter><optional>args</optional></parameter>...
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
Returns a string produced according to the formatting string
|
||
<parameter>format</parameter>.
|
||
</simpara>
|
||
<simpara>
|
||
The format string is composed by zero or more directives:
|
||
ordinary characters (excluding <literal>%</literal>) that are
|
||
copied directly to the result, and <emphasis>conversion
|
||
specifications</emphasis>, each of which results in fetching its
|
||
own parameter. This applies to both <function>sprintf</function>
|
||
and <function>printf</function>.
|
||
</simpara>
|
||
<para>
|
||
Each conversion specification consists of these elements, in
|
||
order:
|
||
<orderedlist>
|
||
<listitem>
|
||
<simpara>
|
||
An optional <emphasis>padding specifier</emphasis> that says
|
||
what character will be used for padding the results to the
|
||
right string size. This may be a space character or a
|
||
<literal>0</literal> (zero character). The default is to pad
|
||
with spaces. An alternate padding character can be specified
|
||
by prefixing it with a single quote (<literal>'</literal>).
|
||
See the examples below.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
An optional <emphasis>alignment specifier</emphasis> that says
|
||
if the result should be left-justified or right-justified.
|
||
The default is right-justified; a <literal>-</literal>
|
||
character here will make it left-justified.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
An optional number, a <emphasis>width specifier</emphasis>
|
||
that says how many characters (minimum) this conversion should
|
||
result in.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
An optional <emphasis>precision specifier</emphasis> that says
|
||
how many decimal digits should be displayed for floating-point
|
||
numbers. This option has no effect for other types than
|
||
double. (Another function useful for formatting numbers is
|
||
<function>number_format</function>.)
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
A <emphasis>type specifier</emphasis> that says what type the
|
||
argument data should be treated as. Possible types:
|
||
<simplelist>
|
||
<member>
|
||
<literal>%</literal> - a literal percent character. No
|
||
argument is required.
|
||
</member>
|
||
<member>
|
||
<literal>b</literal> - the argument is treated as an
|
||
integer, and presented as a binary number.
|
||
</member>
|
||
<member>
|
||
<literal>c</literal> - the argument is treated as an
|
||
integer, and presented as the character with that ASCII
|
||
value.
|
||
</member>
|
||
<member>
|
||
<literal>d</literal> - the argument is treated as an
|
||
integer, and presented as a decimal number.
|
||
</member>
|
||
<member>
|
||
<literal>f</literal> - the argument is treated as a double,
|
||
and presented as a floating-point number.
|
||
</member>
|
||
<member>
|
||
<literal>o</literal> - the argument is treated as an
|
||
integer, and presented as an octal number.
|
||
</member>
|
||
<member>
|
||
<literal>s</literal> - the argument is treated as and
|
||
presented as a string.
|
||
</member>
|
||
<member>
|
||
<literal>x</literal> - the argument is treated as an integer
|
||
and presented as a hexadecimal number (with lowercase
|
||
letters).
|
||
</member>
|
||
<member>
|
||
<literal>X</literal> - the argument is treated as an integer
|
||
and presented as a hexadecimal number (with uppercase
|
||
letters).
|
||
</member>
|
||
</simplelist>
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</para>
|
||
<simpara>
|
||
See also: <function>printf</function>, <function>sscanf</function>,
|
||
<function>fscanf</function>, and <function>number_format</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
<refsect1>
|
||
<title>Examples</title>
|
||
<para>
|
||
<example>
|
||
<title><function>Sprintf</function>: zero-padded integers</title>
|
||
<programlisting role="php">
|
||
$isodate = sprintf ("%04d-%02d-%02d", $year, $month, $day);
|
||
</programlisting>
|
||
</example>
|
||
<example>
|
||
<title><function>Sprintf</function>: formatting currency</title>
|
||
<programlisting role="php">
|
||
$money1 = 68.75;
|
||
$money2 = 54.35;
|
||
$money = $money1 + $money2;
|
||
// echo $money will output "123.1";
|
||
$formatted = sprintf ("%01.2f", $money);
|
||
// echo $formatted will output "123.10"
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strcasecmp">
|
||
<refnamediv>
|
||
<refname>strcasecmp</refname>
|
||
<refpurpose>
|
||
Binary safe case-insensitive string comparison
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strcasecmp</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns < 0 if <parameter>str1</parameter> is less than
|
||
<parameter>str2</parameter>; > 0 if <parameter>str1</parameter>
|
||
is greater than <parameter>str2</parameter>, and 0 if they are
|
||
equal.
|
||
<example>
|
||
<title><function>strcasecmp</function> example</title>
|
||
<programlisting role="php">
|
||
$var1 = "Hello";
|
||
$var2 = "hello";
|
||
if (!strcasecmp ($var1, $var2)) {
|
||
echo '$var1 is equal to $var2 in a case-insensitive string comparison';
|
||
}
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<simpara>
|
||
See also <function>ereg</function>, <function>strcmp</function>,
|
||
<function>substr</function>, <function>stristr</function>, and
|
||
<function>strstr</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strchr">
|
||
<refnamediv>
|
||
<refname>strchr</refname>
|
||
<refpurpose>
|
||
Find the first occurrence of a character
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strchr</function></funcdef>
|
||
<paramdef>string <parameter>haystack</parameter></paramdef>
|
||
<paramdef>string <parameter>needle</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function is an alias for <function>strstr</function>, and is
|
||
identical in every way.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strcmp">
|
||
<refnamediv>
|
||
<refname>strcmp</refname>
|
||
<refpurpose>Binary safe string comparison</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strcmp</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
Returns < 0 if <parameter>str1</parameter> is less than
|
||
<parameter>str2</parameter>; > 0 if <parameter>str1</parameter>
|
||
is greater than <parameter>str2</parameter>, and 0 if they are
|
||
equal.
|
||
</simpara>
|
||
<simpara>
|
||
Note that this comparison is case sensitive.
|
||
</simpara>
|
||
<simpara>
|
||
See also <function>ereg</function>,
|
||
<function>strcasecmp</function>, <function>substr</function>,
|
||
<function>stristr</function>, <function>strncmp</function>,
|
||
and <function>strstr</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strcspn">
|
||
<refnamediv>
|
||
<refname>strcspn</refname>
|
||
<refpurpose>
|
||
Find length of initial segment not matching mask
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strcspn</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
Returns the length of the initial segment of
|
||
<parameter>str1</parameter> which does <emphasis>not</emphasis>
|
||
contain any of the characters in <parameter>str2</parameter>.
|
||
</simpara>
|
||
<simpara>
|
||
See also <function>strspn</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strip-tags">
|
||
<refnamediv>
|
||
<refname>strip_tags</refname>
|
||
<refpurpose>Strip HTML and PHP tags from a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strip_tags</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>string
|
||
<parameter><optional>allowable_tags</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function tries to strip all HTML and PHP tags from the given
|
||
string. It errors on the side of caution in case of incomplete
|
||
or bogus tags. It uses the same tag stripping state machine as
|
||
the <function>fgetss</function> function.
|
||
</para>
|
||
<para>
|
||
You can use the optional second parameter to specify tags which
|
||
should not be stripped.
|
||
<note>
|
||
<para>
|
||
<parameter>Allowable_tags</parameter> was added in PHP 3.0.13,
|
||
PHP4B3.
|
||
</para>
|
||
</note>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.stripcslashes">
|
||
<refnamediv>
|
||
<refname>stripcslashes</refname>
|
||
<refpurpose>
|
||
Un-quote string quoted with <function>addcslashes</function>
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>stripcslashes</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns a string with backslashes stripped off. Recognizes
|
||
C-like <literal>\n</literal>, <literal>\r</literal> ..., octal
|
||
and hexadecimal representation.
|
||
<note>
|
||
<simpara>
|
||
Added in PHP4b3-dev.
|
||
</simpara>
|
||
</note>
|
||
</para>
|
||
<simpara>
|
||
See also <function>addcslashes</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.stripslashes">
|
||
<refnamediv>
|
||
<refname>stripslashes</refname>
|
||
<refpurpose>
|
||
Un-quote string quoted with <function>addslashes</function>
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>stripslashes</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns a string with backslashes stripped off.
|
||
(<literal>\'</literal> becomes <literal>'</literal> and so on.)
|
||
Double backslashes are made into a single backslash.
|
||
</para>
|
||
<simpara>
|
||
See also <function>addslashes</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.stristr">
|
||
<refnamediv>
|
||
<refname>stristr</refname>
|
||
<refpurpose>
|
||
Case-insensitive <function>strstr</function>
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>stristr</function></funcdef>
|
||
<paramdef>string <parameter>haystack</parameter></paramdef>
|
||
<paramdef>string <parameter>needle</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns all of <parameter>haystack</parameter> from the first
|
||
occurrence of <parameter>needle</parameter> to the end.
|
||
<parameter>needle</parameter> and <parameter>haystack</parameter>
|
||
are examined in a case-insensitive manner.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not found, returns false.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not a string, it is converted
|
||
to an integer and applied as the ordinal value of a character.
|
||
</para>
|
||
<para>
|
||
See also <function>strchr</function>,
|
||
<function>strrchr</function>, <function>substr</function>, and
|
||
<function>ereg</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strlen">
|
||
<refnamediv>
|
||
<refname>strlen</refname>
|
||
<refpurpose>Get string length</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strlen</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns the length of <parameter>string</parameter>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strnatcmp">
|
||
<refnamediv>
|
||
<refname>strnatcmp</refname>
|
||
<refpurpose>
|
||
String comparisons using a "natural order" algorithm
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strnatcmp</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function implements a comparison algorithm that orders
|
||
alphanumeric strings in the way a human being would, this is
|
||
described as a "natural ordering". An example of the difference
|
||
between this algorithm and the regular computer string sorting
|
||
algorithms (used in <function>strcmp</function>) can be seen
|
||
below:
|
||
<informalexample>
|
||
<programlisting>
|
||
$arr1 = $arr2 = array ("img12.png","img10.png","img2.png","img1.png");
|
||
echo "Standard string comparison\n";
|
||
usort($arr1,"strcmp");
|
||
print_r($arr1);
|
||
echo "\nNatural order string comparison\n";
|
||
usort($arr2,"strnatcmp");
|
||
print_r($arr2);
|
||
</programlisting>
|
||
</informalexample>
|
||
The code above will generate the following output:
|
||
<informalexample>
|
||
<programlisting>
|
||
Standard string comparison
|
||
Array
|
||
(
|
||
[0] => img1.png
|
||
[1] => img10.png
|
||
[2] => img12.png
|
||
[3] => img2.png
|
||
)
|
||
|
||
Natural order string comparison
|
||
Array
|
||
(
|
||
[0] => img1.png
|
||
[1] => img2.png
|
||
[2] => img10.png
|
||
[3] => img12.png
|
||
)
|
||
</programlisting>
|
||
</informalexample>
|
||
For more infomation see: Martin Pool's <ulink
|
||
url="&url.strnatcmp;">Natural Order String Comparison</ulink>
|
||
page.
|
||
</para>
|
||
<simpara>
|
||
Similar to other string comparison functions, this one returns
|
||
< 0 if <parameter>str1</parameter> is less than
|
||
<parameter>str2</parameter>; > 0 if <parameter>str1</parameter>
|
||
is greater than <parameter>str2</parameter>, and 0 if they are
|
||
equal.
|
||
</simpara>
|
||
<simpara>
|
||
Note that this comparison is case sensitive.
|
||
</simpara>
|
||
<simpara>
|
||
See also <function>ereg</function>,
|
||
<function>strcasecmp</function>, <function>substr</function>,
|
||
<function>stristr</function>, <function>strcmp</function>,
|
||
<function>strncmp</function>, <function>strnatcasecmp</function>,
|
||
<function>strstr</function>, <function>natsort</function> and
|
||
<function>natcasesort</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strnatcasecmp">
|
||
<refnamediv>
|
||
<refname>strnatcasecmp</refname>
|
||
<refpurpose>
|
||
Case insensitive string comparisons using a "natural order" algorithm
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strnatcasecmp</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function implements a comparison algorithm that orders
|
||
alphanumeric strings in the way a human being would. The
|
||
behavior of this function is similar to
|
||
<function>strnatcmp</function>, except that the comparison is
|
||
not case sensitive. For more infomation see: Martin Pool's
|
||
<ulink url="&url.strnatcmp;">Natural Order String
|
||
Comparison</ulink> page.
|
||
</para>
|
||
<simpara>
|
||
Similar to other string comparison functions, this one returns
|
||
< 0 if <parameter>str1</parameter> is less than
|
||
<parameter>str2</parameter>; > 0 if <parameter>str1</parameter>
|
||
is greater than <parameter>str2</parameter>, and 0 if they are
|
||
equal.
|
||
</simpara>
|
||
<simpara>
|
||
See also <function>ereg</function>,
|
||
<function>strcasecmp</function>, <function>substr</function>,
|
||
<function>stristr</function>, <function>strcmp</function>,
|
||
<function>strncmp</function>, <function>strnatcmp</function>,
|
||
and <function>strstr</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strncmp">
|
||
<refnamediv>
|
||
<refname>strncmp</refname>
|
||
<refpurpose>
|
||
Binary safe string comparison of the first n characters
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strncmp</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
<paramdef>int <parameter>len</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function is similar to <function>strcmp</function>, with the
|
||
difference that you can specify the (upper limit of the) number of
|
||
characters (<parameter>len</parameter>) from each string to be
|
||
used in the comparison. If any of the strings is shorter than
|
||
<parameter>len</parameter>, then the length of that string will be
|
||
used for the comparison.
|
||
</para>
|
||
<simpara>
|
||
Returns < 0 if <parameter>str1</parameter> is less than
|
||
<parameter>str2</parameter>; > 0 if <parameter>str1</parameter>
|
||
is greater than <parameter>str2</parameter>, and 0 if they are
|
||
equal.
|
||
</simpara>
|
||
<simpara>
|
||
Note that this comparison is case sensitive.
|
||
</simpara>
|
||
<simpara>
|
||
See also <function>ereg</function>,
|
||
<function>strcasecmp</function>, <function>substr</function>,
|
||
<function>stristr</function>, <function>strcmp</function>,
|
||
and <function>strstr</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.str-pad">
|
||
<refnamediv>
|
||
<refname>str_pad</refname>
|
||
<refpurpose>Pad a string to a certain length with another string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>str_pad</function></funcdef>
|
||
<paramdef>string <parameter>input</parameter></paramdef>
|
||
<paramdef>int <parameter>pad_length</parameter></paramdef>
|
||
<paramdef>string
|
||
<parameter><optional>pad_string</optional></parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>pad_type</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This functions pads the <parameter>input</parameter> string on
|
||
the left, the right, or both sides to the specifed padding
|
||
length. If the optional argument
|
||
<parameter>pad_string</parameter> is not supplied, the
|
||
<parameter>input</parameter> is padded with spaces, otherwise it
|
||
is padded with characters from <parameter>pad_string</parameter>
|
||
up to the limit.
|
||
</para>
|
||
|
||
<para>
|
||
Optional argument <parameter>pad_type</parameter> can be
|
||
STR_PAD_RIGHT, STR_PAD_LEFT, or STR_PAD_BOTH. If
|
||
<parameter>pad_type</parameter> is not specified it is assumed to
|
||
be STR_PAD_RIGHT.
|
||
</para>
|
||
|
||
<para>
|
||
If the value of <parameter>pad_length</parameter> is negative or
|
||
less than the length of the input string, no padding takes
|
||
place.
|
||
</para>
|
||
|
||
<para>
|
||
<example>
|
||
<title><function>str_pad</function> example</title>
|
||
<programlisting role="php">
|
||
$input = "Alien";
|
||
print str_pad($input, 10); // produces "Alien "
|
||
print str_pad($input, 10, "-=", STR_PAD_LEFT); // produces "-=-=-Alien"
|
||
print str_pad($input, 10, "_", STR_PAD_BOTH); // produces "__Alien___"
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strpos">
|
||
<refnamediv>
|
||
<refname>strpos</refname>
|
||
<refpurpose>
|
||
Find position of first occurrence of a string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strpos</function></funcdef>
|
||
<paramdef>string <parameter>haystack</parameter></paramdef>
|
||
<paramdef>string <parameter>needle</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>offset</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns the numeric position of the first occurrence of
|
||
<parameter>needle</parameter> in the
|
||
<parameter>haystack</parameter> string. Unlike the
|
||
<function>strrpos</function>, this function can take a full
|
||
string as the <parameter>needle</parameter> parameter and the
|
||
entire string will be used.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not found, returns false.
|
||
<note>
|
||
<para>
|
||
It is easy to mistake the return values for "character found at
|
||
position 0" and "character not found". Here's how to detect
|
||
the difference:
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
// in PHP 4.0b3 and newer:
|
||
$pos = strpos ($mystring, "b");
|
||
if ($pos === false) { // note: three equal signs
|
||
// not found...
|
||
}
|
||
|
||
// in versions older than 4.0b3:
|
||
$pos = strpos ($mystring, "b");
|
||
if (is_string ($pos) && !$pos) {
|
||
// not found...
|
||
}
|
||
</programlisting>
|
||
</informalexample>
|
||
</para>
|
||
</note>
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not a string, it is converted
|
||
to an integer and applied as the ordinal value of a character.
|
||
</para>
|
||
<para>
|
||
The optional <parameter>offset</parameter> parameter allows you
|
||
to specify which character in <parameter>haystack</parameter> to
|
||
start searching. The position returned is still relative to the
|
||
the beginning of <parameter>haystack</parameter>.
|
||
</para>
|
||
<para>
|
||
See also <function>strrpos</function>,
|
||
<function>strrchr</function>, <function>substr</function>,
|
||
<function>stristr</function>, and <function>strstr</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strrchr">
|
||
<refnamediv>
|
||
<refname>strrchr</refname>
|
||
<refpurpose>
|
||
Find the last occurrence of a character in a string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strrchr</function></funcdef>
|
||
<paramdef>string <parameter>haystack</parameter></paramdef>
|
||
<paramdef>string <parameter>needle</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function returns the portion of
|
||
<parameter>haystack</parameter> which starts at the last
|
||
occurrence of <parameter>needle</parameter> and goes until the
|
||
end of <parameter>haystack</parameter>.
|
||
</para>
|
||
<para>
|
||
Returns false if <parameter>needle</parameter> is not found.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> contains more than one
|
||
character, the first is used.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not a string, it is converted
|
||
to an integer and applied as the ordinal value of a character.
|
||
<example>
|
||
<title><function>Strrchr</function> example</title>
|
||
<programlisting role="php">
|
||
// get last directory in $PATH
|
||
$dir = substr (strrchr ($PATH, ":"), 1);
|
||
|
||
// get everything after last newline
|
||
$text = "Line 1\nLine 2\nLine 3";
|
||
$last = substr (strrchr ($text, 10), 1 );
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also <function>substr</function>,
|
||
<function>stristr</function>, and <function>strstr</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.str-repeat">
|
||
<refnamediv>
|
||
<refname>str_repeat</refname>
|
||
<refpurpose>Repeat a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>str_repeat</function></funcdef>
|
||
<paramdef>string <parameter>input</parameter></paramdef>
|
||
<paramdef>int <parameter>multiplier</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns <parameter>input_str</parameter> repeated
|
||
<parameter>multiplier</parameter> times.
|
||
<parameter>multiplier</parameter> has to be greater than 0.
|
||
</para>
|
||
<example>
|
||
<title><function>Str_repeat</function> example</title>
|
||
<programlisting role="php">
|
||
echo str_repeat ("-=", 10);
|
||
</programlisting>
|
||
</example>
|
||
<para>
|
||
This will output "-=-=-=-=-=-=-=-=-=-=".
|
||
</para>
|
||
<note>
|
||
<para>
|
||
This function was added in PHP 4.0.
|
||
</para>
|
||
</note>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strrev">
|
||
<refnamediv>
|
||
<refname>strrev</refname>
|
||
<refpurpose>Reverse a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strrev</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns <parameter>string</parameter>, reversed.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strrpos">
|
||
<refnamediv>
|
||
<refname>strrpos</refname>
|
||
<refpurpose>
|
||
Find position of last occurrence of a char in a string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strrpos</function></funcdef>
|
||
<paramdef>string <parameter>haystack</parameter></paramdef>
|
||
<paramdef>char <parameter>needle</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns the numeric position of the last occurrence of
|
||
<parameter>needle</parameter> in the
|
||
<parameter>haystack</parameter> string. Note that the needle in
|
||
this case can only be a single character. If a string is passed
|
||
as the needle, then only the first character of that string will
|
||
be used.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not found, returns false.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not a string, it is converted
|
||
to an integer and applied as the ordinal value of a character.
|
||
</para>
|
||
<para>
|
||
See also <function>strpos</function>,
|
||
<function>strrchr</function>, <function>substr</function>,
|
||
<function>stristr</function>, and <function>strstr</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strspn">
|
||
<refnamediv>
|
||
<refname>strspn</refname>
|
||
<refpurpose>
|
||
Find length of initial segment matching mask
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>strspn</function></funcdef>
|
||
<paramdef>string <parameter>str1</parameter></paramdef>
|
||
<paramdef>string <parameter>str2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<simpara>
|
||
Returns the length of the initial segment of
|
||
<parameter>str1</parameter> which consists entirely of characters
|
||
in <parameter>str2</parameter>.
|
||
</simpara>
|
||
<para>
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
strspn ("42 is the answer, what is the question ...", "1234567890");
|
||
</programlisting>
|
||
<para>
|
||
will return 2 as result.
|
||
</para>
|
||
</informalexample>
|
||
</para>
|
||
<simpara>
|
||
See also <function>strcspn</function>.
|
||
</simpara>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strstr">
|
||
<refnamediv>
|
||
<refname>strstr</refname>
|
||
<refpurpose>Find first occurrence of a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strstr</function></funcdef>
|
||
<paramdef>string <parameter>haystack</parameter></paramdef>
|
||
<paramdef>string <parameter>needle</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns all of <parameter>haystack</parameter> from the first
|
||
occurrence of <parameter>needle</parameter> to the end.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not found, returns false.
|
||
</para>
|
||
<para>
|
||
If <parameter>needle</parameter> is not a string, it is converted
|
||
to an integer and applied as the ordinal value of a character.
|
||
</para>
|
||
<para>
|
||
<note>
|
||
<para>
|
||
Note that this function is case-sensitive. For
|
||
case-insensitive searches, use <function>stristr</function>.
|
||
</para>
|
||
</note>
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title><function>Strstr</function> example</title>
|
||
<programlisting role="php">
|
||
$email = 'sterling@designmultimedia.com';
|
||
$domain = strstr ($email, '@');
|
||
print $domain; // prints @designmultimedia.com
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also <function>stristr</function>,
|
||
<function>strrchr</function>, <function>substr</function>, and
|
||
<function>ereg</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strtok">
|
||
<refnamediv>
|
||
<refname>strtok</refname>
|
||
<refpurpose>Tokenize string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strtok</function></funcdef>
|
||
<paramdef>string <parameter>arg1</parameter></paramdef>
|
||
<paramdef>string <parameter>arg2</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
<function>strtok</function> is used to tokenize a string. That
|
||
is, if you have a string like "This is an example string" you
|
||
could tokenize this string into its individual words by using the
|
||
space character as the token.
|
||
<example>
|
||
<title><function>Strtok</function> example</title>
|
||
<programlisting role="php">
|
||
$string = "This is an example string";
|
||
$tok = strtok ($string," ");
|
||
while ($tok) {
|
||
echo "Word=$tok<br>";
|
||
$tok = strtok (" ");
|
||
}
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
Note that only the first call to strtok uses the string argument.
|
||
Every subsequent call to strtok only needs the token to use, as
|
||
it keeps track of where it is in the current string. To start
|
||
over, or to tokenize a new string you simply call strtok with the
|
||
string argument again to initialize it. Note that you may put
|
||
multiple tokens in the token parameter. The string will be
|
||
tokenized when any one of the characters in the argument are
|
||
found.
|
||
</para>
|
||
<para>
|
||
Also be careful that your tokens may be equal to "0". This
|
||
evaluates to false in conditional expressions.
|
||
</para>
|
||
<para>
|
||
See also <function>split</function> and
|
||
<function>explode</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strtolower">
|
||
<refnamediv>
|
||
<refname>strtolower</refname>
|
||
<refpurpose>Make a string lowercase</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strtolower</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns <parameter>string</parameter> with all alphabetic
|
||
characters converted to lowercase.
|
||
</para>
|
||
<para>
|
||
Note that 'alphabetic' is determined by the current locale. This
|
||
means that in i.e. the default "C" locale, characters such as
|
||
umlaut-A (<28>) will not be converted.
|
||
</para>
|
||
<example>
|
||
<title><function>Strtolower</function> example</title>
|
||
<programlisting role="php">
|
||
$str = "Mary Had A Little Lamb and She LOVED It So";
|
||
$str = strtolower($str);
|
||
print $str; # Prints mary had a little lamb and she loved it so
|
||
</programlisting>
|
||
</example>
|
||
<para>
|
||
See also <function>strtoupper</function>
|
||
and <function>ucfirst</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strtoupper">
|
||
<refnamediv>
|
||
<refname>strtoupper</refname>
|
||
<refpurpose>Make a string uppercase</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strtoupper</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Returns <parameter>string</parameter> with all alphabetic
|
||
characters converted to uppercase.
|
||
</para>
|
||
<para>
|
||
Note that 'alphabetic' is determined by the current locale. For
|
||
instance, in the default "C" locale characters such as umlaut-a
|
||
(<28>) will not be converted.
|
||
</para>
|
||
<example>
|
||
<title><function>Strtoupper</function> example</title>
|
||
<programlisting role="php">
|
||
$str = "Mary Had A Little Lamb and She LOVED It So";
|
||
$str = strtoupper ($str);
|
||
print $str; # Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
|
||
</programlisting>
|
||
</example>
|
||
<para>
|
||
See also <function>strtolower</function>
|
||
and <function>ucfirst</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.str-replace">
|
||
<refnamediv>
|
||
<refname>str_replace</refname>
|
||
<refpurpose>
|
||
Replace all occurrences of needle in haystack with str
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>str_replace</function></funcdef>
|
||
<paramdef>string <parameter>needle</parameter></paramdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>string <parameter>haystack</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function replaces all occurences of
|
||
<parameter>needle</parameter> in <parameter>haystack</parameter>
|
||
with the given <parameter>str</parameter>. If you don't need
|
||
fancy replacing rules, you should always use this function
|
||
instead of <function>ereg_replace</function>.</para>
|
||
<para>
|
||
<example>
|
||
<title><function>Str_replace</function> example</title>
|
||
<programlisting role="php">
|
||
$bodytag = str_replace ("%body%", "black", "<body text=%body%>");
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
This function is binary safe.
|
||
</para>
|
||
<note>
|
||
<para>
|
||
<function>Str_replace</function> was added in PHP 3.0.6, but was
|
||
buggy up until PHP 3.0.8.
|
||
</para>
|
||
</note>
|
||
<para>
|
||
See also <function>ereg_replace</function> and
|
||
<function>strtr</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.strtr">
|
||
<refnamediv>
|
||
<refname>strtr</refname>
|
||
<refpurpose>Translate certain characters</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>strtr</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>string <parameter>from</parameter></paramdef>
|
||
<paramdef>string <parameter>to</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function operates on <parameter>str</parameter>, translating
|
||
all occurrences of each character in <parameter>from</parameter>
|
||
to the corresponding character in <parameter>to</parameter> and
|
||
returning the result.
|
||
</para>
|
||
<para>
|
||
If <parameter>from</parameter> and <parameter>to</parameter> are
|
||
different lengths, the extra characters in the longer of the two
|
||
are ignored.
|
||
<example>
|
||
<title><function>Strtr</function> example</title>
|
||
<programlisting role="php">
|
||
$addr = strtr($addr, "<22><><EFBFBD>", "aao");
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
<function>strtr</function> can be called with only two
|
||
arguments. If called with two arguments it behaves in a new way:
|
||
<parameter>from</parameter> then has to be an array that contains
|
||
string -> string pairs that will be replaced in the source
|
||
string. <function>strtr</function> will always look for the
|
||
longest possible match first and will *NOT* try to replace stuff
|
||
that it has already worked on.
|
||
</para>
|
||
<para>
|
||
Examples:
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
$trans = array ("hello" => "hi", "hi" => "hello");
|
||
echo strtr("hi all, I said hello", $trans) . "\n";
|
||
</programlisting>
|
||
</informalexample>
|
||
This will show: "hello all, I said hi",
|
||
</para>
|
||
<note>
|
||
<simpara>
|
||
This feature (two arguments) was added in PHP 4.0.
|
||
</simpara>
|
||
</note>
|
||
<para>
|
||
See also <function>ereg_replace</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.substr">
|
||
<refnamediv>
|
||
<refname>substr</refname>
|
||
<refpurpose>Return part of a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>substr</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
<paramdef>int <parameter>start</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>length</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Substr returns the portion of <parameter>string</parameter>
|
||
specified by the <parameter>start</parameter> and
|
||
<parameter>length</parameter> parameters.
|
||
</para>
|
||
<para>
|
||
If <parameter>start</parameter> is positive, the returned string
|
||
will start at the <parameter>start</parameter>'th position in
|
||
<parameter>string</parameter>, counting from zero. For instance,
|
||
in the string '<literal>abcdef</literal>', the character at
|
||
position <literal>0</literal> is '<literal>a</literal>', the
|
||
character at position <literal>2</literal> is
|
||
'<literal>c</literal>', and so forth.
|
||
</para>
|
||
<para>
|
||
Examples:
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
$rest = substr ("abcdef", 1); // returns "bcdef"
|
||
$rest = substr ("abcdef", 1, 3); // returns "bcd"
|
||
</programlisting>
|
||
</informalexample>
|
||
</para>
|
||
<para>
|
||
If <parameter>start</parameter> is negative, the returned string
|
||
will start at the <parameter>start</parameter>'th character
|
||
from the end of <parameter>string</parameter>.</para>
|
||
<para>
|
||
Examples:
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
$rest = substr ("abcdef", -1); // returns "f"
|
||
$rest = substr ("abcdef", -2); // returns "ef"
|
||
$rest = substr ("abcdef", -3, 1); // returns "d"
|
||
</programlisting>
|
||
</informalexample>
|
||
</para>
|
||
<para>
|
||
If <parameter>length</parameter> is given and is positive, the
|
||
string returned will end <parameter>length</parameter> characters
|
||
from <parameter>start</parameter>. If this would result in a
|
||
string with negative length (because the start is past the end of
|
||
the string), then the returned string will contain the single
|
||
character at <parameter>start</parameter>.
|
||
</para>
|
||
<para>
|
||
If <parameter>length</parameter> is given and is negative, the
|
||
string returned will end <parameter>length</parameter> characters
|
||
from the end of <parameter>string</parameter>. If this would
|
||
result in a string with negative length, then the returned string
|
||
will contain the single character at
|
||
<parameter>start</parameter>.
|
||
</para>
|
||
<para>
|
||
Examples:
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
$rest = substr ("abcdef", 1, -1); // returns "bcde"
|
||
</programlisting>
|
||
</informalexample>
|
||
</para>
|
||
<para>
|
||
See also <function>strrchr</function> and
|
||
<function>ereg</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.substr-count">
|
||
<refnamediv>
|
||
<refname>substr_count</refname>
|
||
<refpurpose>Count the number of substring occurrences</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>int <function>substr_count</function></funcdef>
|
||
<paramdef>string <parameter>haystrack</parameter></paramdef>
|
||
<paramdef>string <parameter>needle</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
<function>substr_count</function> returns the number of times the
|
||
<parameter>needle</parameter> substring occurs in the
|
||
<parameter>haystack</parameter> string.
|
||
</para>
|
||
|
||
<para>
|
||
<example>
|
||
<title><function>substr_count</function> example</title>
|
||
<programlisting>
|
||
print substr_count("This is a test", "is"); // prints out 2
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.substr-replace">
|
||
<refnamediv>
|
||
<refname>substr_replace</refname>
|
||
<refpurpose>Replace text within a portion of a string</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>substr_replace</function></funcdef>
|
||
<paramdef>string <parameter>string</parameter></paramdef>
|
||
<paramdef>string <parameter>replacement</parameter></paramdef>
|
||
<paramdef>int <parameter>start</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>length</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
<function>substr_replace</function> replaces the part of
|
||
<parameter>string</parameter> delimited by the
|
||
<parameter>start</parameter> and (optionally)
|
||
<parameter>length</parameter> parameters with the string given in
|
||
<parameter>replacement</parameter>. The result is returned.
|
||
</para>
|
||
<para>
|
||
If <parameter>start</parameter> is positive, the replacing will
|
||
begin at the <parameter>start</parameter>'th offset into
|
||
<parameter>string</parameter>.
|
||
</para>
|
||
<para>
|
||
If <parameter>start</parameter> is negative, the replacing will
|
||
begin at the <parameter>start</parameter>'th character from the
|
||
end of <parameter>string</parameter>.
|
||
</para>
|
||
<para>
|
||
If <parameter>length</parameter> is given and is positive, it
|
||
represents the length of the portion of
|
||
<parameter>string</parameter> which is to be replaced. If it is
|
||
negative, it represents the number of characters from the end of
|
||
<parameter>string</parameter> at which to stop replacing. If it
|
||
is not given, then it will default to strlen(
|
||
<parameter>string</parameter> ); i.e. end the replacing at the
|
||
end of <parameter>string</parameter>.
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title><function>Substr_replace</function> example</title>
|
||
<programlisting role="php">
|
||
<?php
|
||
$var = 'ABCDEFGH:/MNRPQR/';
|
||
echo "Original: $var<hr>\n";
|
||
|
||
/* These two examples replace all of $var with 'bob'. */
|
||
echo substr_replace ($var, 'bob', 0) . "<br>\n";
|
||
echo substr_replace ($var, 'bob', 0, strlen ($var)) . "<br>\n";
|
||
|
||
/* Insert 'bob' right at the beginning of $var. */
|
||
echo substr_replace ($var, 'bob', 0, 0) . "<br>\n";
|
||
|
||
/* These next two replace 'MNRPQR' in $var with 'bob'. */
|
||
echo substr_replace ($var, 'bob', 10, -1) . "<br>\n";
|
||
echo substr_replace ($var, 'bob', -7, -1) . "<br>\n";
|
||
|
||
/* Delete 'MNRPQR' from $var. */
|
||
echo substr_replace ($var, '', 10, -1) . "<br>\n";
|
||
?>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also <function>str_replace</function> and
|
||
<function>substr</function>.
|
||
</para>
|
||
<note>
|
||
<simpara>
|
||
<function>Substr_replace</function> was added in PHP 4.0.
|
||
</simpara>
|
||
</note>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.trim">
|
||
<refnamediv>
|
||
<refname>trim</refname>
|
||
<refpurpose>
|
||
Strip whitespace from the beginning and end of a string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>trim</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
This function strips whitespace from the start and the end of a
|
||
string and returns the stripped string. The whitespace
|
||
characters it currently strips are: "\n", "\r", "\t", "\v", "\0",
|
||
and a plain space.
|
||
</para>
|
||
<para>
|
||
See also <function>chop</function> and
|
||
<function>ltrim</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.ucfirst">
|
||
<refnamediv>
|
||
<refname>ucfirst</refname>
|
||
<refpurpose>Make a string's first character uppercase</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>ucfirst</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Capitalizes the first character of <parameter>str</parameter> if
|
||
that character is alphabetic.
|
||
</para>
|
||
<para>
|
||
Note that 'alphabetic' is determined by the current locale. For
|
||
instance, in the default "C" locale characters such as umlaut-a
|
||
(<28>) will not be converted.
|
||
<example>
|
||
<title><function>Ucfirst</function> example</title>
|
||
<programlisting role="php">
|
||
$text = 'mary had a little lamb and she loved it so.';
|
||
$text = ucfirst ($text); // $text is now Mary had a little lamb
|
||
// and she loved it so.
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also <function>strtoupper</function> and
|
||
<function>strtolower</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
<refentry id="function.ucwords">
|
||
<refnamediv>
|
||
<refname>ucwords</refname>
|
||
<refpurpose>
|
||
Uppercase the first character of each word in a string
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>ucwords</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Capitalizes the first character of each word in
|
||
<parameter>str</parameter> if that character is alphabetic.
|
||
<example>
|
||
<title><function>ucwords</function> example</title>
|
||
<programlisting role="php">
|
||
$text = "mary had a little lamb and she loved it so.";
|
||
$text = ucwords($text); // $text is now: Mary Had A Little
|
||
// Lamb And She Loved It So.
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
See also <function>strtoupper</function>,
|
||
<function>strtolower</function> and <function>ucfirst</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
|
||
<refentry id="function.wordwrap">
|
||
<refnamediv>
|
||
<refname>wordwrap</refname>
|
||
<refpurpose>
|
||
Wraps a string to a given number of characters using a string
|
||
break character.
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1>
|
||
<title>Description</title>
|
||
<funcsynopsis>
|
||
<funcprototype>
|
||
<funcdef>string <function>wordwrap</function></funcdef>
|
||
<paramdef>string <parameter>str</parameter></paramdef>
|
||
<paramdef>int
|
||
<parameter><optional>width</optional></parameter>
|
||
</paramdef>
|
||
<paramdef>string
|
||
<parameter><optional>break</optional></parameter>
|
||
</paramdef>
|
||
</funcprototype>
|
||
</funcsynopsis>
|
||
<para>
|
||
Wraps the string <parameter>str</parameter> at the column number
|
||
specified by the (optional) <parameter>width</parameter>
|
||
parameter. The line is broken using the (optional)
|
||
<parameter>break</parameter> parameter.
|
||
</para>
|
||
<para>
|
||
<function>wordwrap</function> will automatically wrap at column
|
||
75 and break using '\n' (newline) if <parameter>width</parameter>
|
||
or <parameter>break</parameter> are not given.
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title><function>wordwrap</function> example</title>
|
||
<programlisting role="php">
|
||
$text = "The quick brown fox jumped over the lazy dog.";
|
||
$newtext = wordwrap( $text, 20 );
|
||
|
||
echo "$newtext\n";
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
This example would display:
|
||
</para>
|
||
<para>
|
||
<informalexample>
|
||
<programlisting>
|
||
The quick brown fox
|
||
jumped over the lazy dog.
|
||
</programlisting>
|
||
</informalexample>
|
||
</para>
|
||
<para>
|
||
See also <function>nl2br</function>.
|
||
</para>
|
||
</refsect1>
|
||
</refentry>
|
||
|
||
|
||
</reference>
|
||
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"../../manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
-->
|