私的には意外と共通している関数が少なかったです。とはいえ文字列関数にのみ存在する関数は大半がそのままマルチバイトでも使える関数であり、マルチバイト文字列関数にのみ存在する関数は色々ですが preg と ereg の名前の違いや日本語特有の処理であったりと納得のものが大半です。この記事では両対応していて欲しかった3つの関数についてのマルチバイト対応コードを紹介します。 一つ目は wordwrap です。これは指定した文字数で文字列を分割する関数です。ただしこの文字数とは例によってバイト数であり、マルチバイト文字を wordwrap にかけるとしばしば折り返し地点で文字化けしたり、期待通りに折り返してくれなかったりします。 PHP: wordwrap – Manual これをマルチバイト対応にするには次の様にします。 if (! function_exists('mb_wordwrap'))
![【PHP】対応する mb_xxxx がない文字列関数相当の動作をするマルチバイト文字列対応コードの例](https://cdn-ak-scissors.b.st-hatena.com/image/square/9b915186ba8564741dc13c0fd64b4117455e64a6/height=288;version=1;width=512/https%3A%2F%2Fcpoint-lab.co.jp%2Fwp-content%2Fuploads%2F2024%2F03%2Fphp-768x432.png)