File: ereg-replace.xml

package info (click to toggle)
php-doc 20061001-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 45,764 kB
  • ctags: 1,611
  • sloc: xml: 502,485; php: 7,645; cpp: 500; makefile: 297; perl: 161; sh: 141; awk: 28
file content (138 lines) | stat: -rw-r--r-- 4,404 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/regex.xml, last change in rev 1.2 -->
  <refentry id="function.ereg-replace">
   <refnamediv>
    <refname>ereg_replace</refname>
    <refpurpose>Replace regular expression</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
    <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>
    <simpara>
     The modified string is returned. (Which may mean that the
     original string is returned if there are no matches to be
     replaced.)
    </simpara>
    <simpara>
     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.
    </simpara>  
    <simpara>
     If no matches are found in <parameter>string</parameter>, then
     <parameter>string</parameter> will be returned unchanged.
    </simpara>
    <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>
    <tip>
     <para>
      <function>preg_replace</function>, which uses a Perl-compatible 
      regular expression syntax, is often a faster alternative to
      <function>ereg_replace</function>.
     </para>
    </tip>
    <para>
     See also <function>ereg</function>, <function>eregi</function>,
     <function>eregi_replace</function>, <function>str_replace</function>, and
     <function>preg_match</function>.
    </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:"../../../../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
-->