hirokawa                Sun Mar 10 01:24:02 2002 EDT

  Modified files:              
    /phpdoc/ja/functions        mbstring.xml 
  Log:
  added description about function overload.
  
Index: phpdoc/ja/functions/mbstring.xml
diff -u phpdoc/ja/functions/mbstring.xml:1.17 phpdoc/ja/functions/mbstring.xml:1.18
--- phpdoc/ja/functions/mbstring.xml:1.17       Sat Mar  9 18:32:44 2002
+++ phpdoc/ja/functions/mbstring.xml    Sun Mar 10 01:24:01 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision: 1.17 $ -->
+<!-- $Revision: 1.18 $ -->
 <reference id="ref.mbstring">
  <title>マルチバイト文字列関数(mbstring)</title> 
  <titleabbrev>
@@ -412,16 +412,16 @@
 ;; 無効な文字を出力しない
 mbstring.substitute_character = none
 ]]>
-       </programlisting>
-      </example>
-     </para>
-     <para>
-      <example>
-       <title>
-       <literal>SJIS</literal>ユーザ用の<literal>php.ini</literal>の
-       設定
-       </title>
-       <programlisting>
+      </programlisting>
+     </example>
+    </para>
+    <para>
+     <example>
+      <title>
+       <literal>SJIS</literal>ユーザ用の<literal>php.ini</literal>の
+       設定
+      </title>
+      <programlisting>
 <![CDATA[
 ;; 出力のバッファリングを有効に
 output_buffering     = On
@@ -444,10 +444,107 @@
 ;; 無効な文字を出力しない
 mbstring.substitute_character = none
 ]]>
-       </programlisting>
-      </example>
-     </para>
-    </sect2>
+      </programlisting>
+     </example>
+    </para>
+   </sect2>
+
+   <sect2 id="mb-overload">
+    
+<title>マルチバイト対応版関数による既存関数のオーバーロード</title>
+    <para>
+     
+PHPアプリケーションの多くは、英語等のシングルバイトの言語用に設計
+     
+されており、日本語を含むマルチバイト文字列を扱う場合には問題を生
+     じる場合があります。<function>substr</function>等のPHPの文字列関
+     数の多くはマルチバイト文字列に対応していません。
+    </para>
+    <para>
+     
+マルチバイト拡張モジュール(mbstring)では、文字列を処理するPHP関数
+     
+のマルチバイト対応版(例えば、<function>substr</function>の場合は
+     <function>mb_substr</function>)をサポートしています。
+    </para>
+    <para>
+     マルチバイト拡張モジュール(mbstring)では、PHP 
+4.2.0以降で既存の
+     
+PHP関数を対応するマルチバイト文字対応版の関数でオーバーロードする
+     
+機能をサポートします。関数のオーバーロードを行うと、例えば
+     <function>substr</function>をPHPスクリプトでコールした場合に、
+     <function>mb_substr</function>が代わりにコールされるようになりま
+     
+す。これにより、マルチバイト文字に対応しないアプリケーションの移
+     植が容易となります。
+    </para>
+    <para>
+     関数オーバーロードを使用するには、設定ファイル php.iniの
+     <literal>mbstring.func_overload</literal>ディレクティブに0以外の
+     
+値を設定します。設定値によりオーバーロードされる関数の種類が異な
+     
+ります。メール関数の場合は1、文字列関数は2、正規表現関数は4を使用
+     
+します。論理和をとることにより複数の値を指定可能です。例えば、7を
+     
+指定すると全てのメール、文字列、正規表現関数をオーバーロードしま
+     す。オーバーロードされる関数を下表に示します。
+     <table>
+      <title>オーバーロードされる関数</title>
+      <tgroup cols="3">
+       <thead>
+       <row>
+        <entry>mbstring.func_overloadの値</entry>
+        <entry>元の関数</entry>
+         <entry>オーバーロードする関数</entry>
+       </row>
+       </thead>
+       <tbody>
+       <row>
+        <entry>1</entry>
+        <entry>mail()</entry>
+         <entry>mb_send_mail()</entry>
+       </row>
+       <row>
+        <entry>2</entry>
+        <entry>strlen()</entry>
+         <entry>mb_strlen()</entry>
+       </row>
+       <row>
+        <entry>2</entry>
+        <entry>strpos()</entry>
+         <entry>mb_strpos()</entry>
+       </row>
+       <row>
+        <entry>2</entry>
+        <entry>strrpos()</entry>
+         <entry>mb_strrpos()</entry>
+       </row>
+       <row>
+        <entry>2</entry>
+        <entry>substr()</entry>
+         <entry>mb_substr()</entry>
+       </row>
+       <row>
+        <entry>4</entry>
+        <entry>ereg()</entry>
+         <entry>mb_ereg()</entry>
+       </row>
+       <row>
+        <entry>4</entry>
+        <entry>eregi()</entry>
+         <entry>mb_eregi()</entry>
+       </row>
+       <row>
+        <entry>4</entry>
+        <entry>ereg_replace()</entry>
+         <entry>mb_ereg_replace()</entry>
+       </row>
+       <row>
+        <entry>4</entry>
+        <entry>eregi_replace()</entry>
+         <entry>mb_eregi_replace()</entry>
+       </row>
+       <row>
+        <entry>4</entry>
+        <entry>split()</entry>
+         <entry>mb_split()</entry>
+       </row>
+       </tbody>
+      </tgroup>
+     </table>
+    </para>
+   </sect2>
 
     <sect2 id="mb-ja-basic">
      <title>日本語のマルチバイト文字に関する基本事項</title>


Reply via email to