hirokawa                Sun Mar 10 03:51:50 2002 EDT

  Modified files:              
    /phpdoc/en/functions        mbstring.xml 
  Log:
  added description about function overload.
  
Index: phpdoc/en/functions/mbstring.xml
diff -u phpdoc/en/functions/mbstring.xml:1.23 phpdoc/en/functions/mbstring.xml:1.24
--- phpdoc/en/functions/mbstring.xml:1.23       Sat Mar  9 18:32:04 2002
+++ phpdoc/en/functions/mbstring.xml    Sun Mar 10 03:51:50 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.23 $ -->
+<!-- $Revision: 1.24 $ -->
  <reference id="ref.mbstring">
   <title>Multi-Byte String Functions</title> 
   <titleabbrev>Multi-Byte String</titleabbrev>
@@ -438,6 +438,109 @@
 ]]>
        </programlisting>
       </example>
+     </para>
+    </sect2>
+    
+    <sect2 id="mb-overload">
+     <title>
+      Overload of PHP string functions by mbstring functions with
+      multibyte support
+     </title>
+     <para>
+      Because almost PHP application written for language using
+      single-byte character encoding, there are some difficulties for
+      multibyte string handling including japanese. Almost PHP string
+      functions such as <function>substr</function> do not support
+      multibyte string.
+     </para>
+     <para>
+      Multibyte extension (mbstring) has some PHP string functions
+      with multibyte support (ex. <function>substr</function> supports
+      <function>mb_substr</function>).
+     </para>
+     <para>
+      Multibyte extension (mbstring) also supports 'function
+      overloading' to add multibyte string functionality without
+      code modification. Using function overloading, some PHP string
+      functions will be oveloaded multibyte string functions.
+      For example, <function>mb_substr</function> is called
+      instead of <function>substr</function> if function overloading
+      is enabled. Function overload makes easy to port application
+      supporting only single-byte encoding for multibyte application.
+     </para>
+     <para>
+      <literal>mbstring.func_overload</literal> in php.ini should be
+      set some positive value to use function overloading.
+      The value should specify the category of overloading functions,
+      sbould be set 1 to enable mail function overloading. 2 to enable
+      string functions, 4 to regular expression functions. For
+      example, if is set for 7, mail, strings, regex functions should
+      be overloaded. The list of overloaded functions are shown in
+      below.
+      <table>
+      <title>Functions to be overloaded</title>
+       <tgroup cols="3">
+        <thead>
+         <row>
+          <entry>value of mbstring.func_overload</entry>
+          <entry>original function</entry>
+         <entry>overloaded function</entry>
+       </row>
+       </thead>
+       <tbody>
+       <row>
+        <entry>1</entry>
+          <entry><function>mail</function></entry>
+          <entry><function>mb_send_mail</function></entry>
+         </row>
+       <row>
+          <entry>2</entry>
+          <entry><function>strlen</function></entry>
+          <entry><function>mb_strlen</function></entry>
+         </row>
+         <row>
+          <entry>2</entry>
+          <entry><function>strpos</function></entry>
+          <entry><function>mb_strpos</function></entry>
+         </row>
+         <row>
+          <entry>2</entry>
+          <entry><function>strrpos</function></entry>
+          <entry><function>mb_strrpos</function></entry>
+         </row>
+         <row>
+          <entry>2</entry>
+          <entry><function>substr</function></entry>
+          <entry><function>mb_substr</function></entry>
+         </row>
+         <row>
+          <entry>4</entry>
+          <entry><function>ereg</function></entry>
+          <entry><function>mb_ereg</function></entry>
+         </row>
+         <row>
+          <entry>4</entry>
+          <entry><function>eregi</function></entry>
+          <entry><function>mb_eregi</function></entry>
+         </row>
+         <row>
+          <entry>4</entry>
+          <entry><function>ereg_replace</function></entry>
+          <entry><function>mb_ereg_replace</function></entry>
+         </row>
+         <row>
+          <entry>4</entry>
+          <entry><function>eregi_replace</function></entry>
+          <entry><function>mb_eregi_replace</function></entry>
+         </row>
+         <row>
+          <entry>4</entry>
+          <entry><function>split</function></entry>
+          <entry><function>mb_split</function></entry>
+       </row>
+        </tbody>
+       </tgroup>
+      </table>
      </para>
     </sect2>
 


Reply via email to