タグ

Unicodeとphpに関するtekimenのブックマーク (3)

  • 【PHP】対応する mb_xxxx がない文字列関数相当の動作をするマルチバイト文字列対応コードの例

    私的には意外と共通している関数が少なかったです。とはいえ文字列関数にのみ存在する関数は大半がそのままマルチバイトでも使える関数であり、マルチバイト文字列関数にのみ存在する関数は色々ですが preg と ereg の名前の違いや日語特有の処理であったりと納得のものが大半です。この記事では両対応していて欲しかった3つの関数についてのマルチバイト対応コードを紹介します。 一つ目は wordwrap です。これは指定した文字数で文字列を分割する関数です。ただしこの文字数とは例によってバイト数であり、マルチバイト文字を wordwrap にかけるとしばしば折り返し地点で文字化けしたり、期待通りに折り返してくれなかったりします。 PHP: wordwrap – Manual これをマルチバイト対応にするには次の様にします。 if (! function_exists('mb_wordwrap'))

    【PHP】対応する mb_xxxx がない文字列関数相当の動作をするマルチバイト文字列対応コードの例
  • PHPカンファレンスの過去14+3回の登壇を振り返る - Qiita

    PHP Advent Calendar 2023の18日目の記事です。 PHPカンファレンスに登壇した記録を書きたいと思います。数えてみますと、2009年から昨年(2022年)までのPHPカンファレンス14回と、北海道2回、関西1回の合計17回登壇したことになります。 最初の登壇は14年前ですので、私の考えも当時からは変化していますので、そのあたりも触れながら紹介していきたいと思います。 PHP カンファレンス 2009 最初の登壇は2009年のPHPカンファレンスでした。この年はビジネスデイとテックデイに分かれていまして、ビジネスデイで登壇依頼を頂きましたので、当時温めていた「ウェブサイトを発注する際のセキュリティ」についてお話しました。 スライドの中で「脅威分析やってもあまり意味ない」みたいな物騒な意見が書いてあります。当時はそのように考えていたわけですが、これは当時のサイトがECサイ

    PHPカンファレンスの過去14+3回の登壇を振り返る - Qiita
  • mbstring/libmbfl モバイル用UTF-8 - Opensource days

    Unicode 6.0 <-> モバイル用UTF-8の相互変換を可能としました。実際のコードをテストするには、github.com のlibmbfl のレポジトリか、svn.php.netからPHP 5.4または5.5の開発用ソースコードを取得ください。 以下、仕様等について記述します。 UTF-8-Mobileの必要性 UTF-8に関しては、現状でキャリア毎に異なるマッピングでPUA領域に絵文字が設定されています。 また、Unicode数値エンティティについてもPUA領域にマップされることが前提の仕様となっています。 前稿で、Shift_JISからUnicode PUAへのマッピングをレガシー(現状?)サポートとして作成しましたが、Unicode 6.0をベースにしたシンプルな実装を目標とすると、Shift_JISからUnicodeへのマップが2通りある(Unicode PUAとUnic

    mbstring/libmbfl モバイル用UTF-8 - Opensource days
  • 1