mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-20 10:58:54 +00:00

First up: ereg. I've added a couple of new snippets based on the MySQL snippets that allow us to provide alternatives in the big red warning box atop each page, since that approach seems to work well there. I'll add more variations as required as I work through the various extensions that need to be updated. In general, I'd like to use this approach more consistently moving forward as we deprecate and remove things, since it gives the user a very obvious link to follow to find out about the new way of doing things. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@338425 c90b9560-bf6c-de11-be94-00142212c4b1
181 lines
5 KiB
XML
181 lines
5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.ereg-replace">
|
|
<refnamediv>
|
|
<refname>ereg_replace</refname>
|
|
<refpurpose>Replace regular expression</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<warning>
|
|
&warn.deprecated.function.5-3-0.removed.7-0-0.alternatives;
|
|
<simplelist role="alternatives">
|
|
<member><function>preg_replace</function></member>
|
|
</simplelist>
|
|
</warning>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>ereg_replace</methodname>
|
|
<methodparam><type>string</type><parameter>pattern</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>replacement</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>string</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<simpara>
|
|
This function scans <parameter>string</parameter> for matches to
|
|
<parameter>pattern</parameter>, then replaces the matched text
|
|
with <parameter>replacement</parameter>.
|
|
</simpara>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>pattern</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
A POSIX extended regular expression.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>replacement</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
If <parameter>pattern</parameter> contains parenthesized substrings,
|
|
<parameter>replacement</parameter> may contain substrings of the form
|
|
<literal>\<replaceable>digit</replaceable></literal>, which will be
|
|
replaced by the text matching the digit'th parenthesized substring;
|
|
<literal>\0</literal> will produce the entire contents of string.
|
|
Up to nine substrings may be used. Parentheses may be nested, in which
|
|
case they are counted by the opening parenthesis.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>string</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The input string.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
The modified string is returned. If no matches are found in
|
|
<parameter>string</parameter>, then it will be returned unchanged.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
For example, the following code snippet prints "This was a test"
|
|
three times:
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title><function>ereg_replace</function> example</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
$string = "This is a test";
|
|
echo str_replace(" is", " was", $string);
|
|
echo ereg_replace("( )is", "\\1was", $string);
|
|
echo ereg_replace("(( )is)", "\\2was", $string);
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
One thing to take note of is that if you use an integer value as
|
|
the <parameter>replacement</parameter> parameter, you may not get
|
|
the results you expect. This is because
|
|
<function>ereg_replace</function> will interpret the number as
|
|
the ordinal value of a character, and apply that. For instance:
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title><function>ereg_replace</function> example</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* This will not work as expected. */
|
|
$num = 4;
|
|
$string = "This string has four words.";
|
|
$string = ereg_replace('four', $num, $string);
|
|
echo $string; /* Output: 'This string has words.' */
|
|
|
|
/* This will work. */
|
|
$num = '4';
|
|
$string = "This string has four words.";
|
|
$string = ereg_replace('four', $num, $string);
|
|
echo $string; /* Output: 'This string has 4 words.' */
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Replace URLs with links</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
|
|
'<a href="\\0">\\0</a>', $text);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<para>
|
|
<simplelist>
|
|
<member><function>ereg</function></member>
|
|
<member><function>eregi</function></member>
|
|
<member><function>eregi_replace</function></member>
|
|
<member><function>str_replace</function></member>
|
|
<member><function>preg_replace</function></member>
|
|
<member><function>quotemeta</function></member>
|
|
</simplelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|
|
|
|
<!-- 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
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|