以下のコードはブラウザーで実行されますが、phpDesigner 8 の開発環境では実行されません。
public function charCodeAt($str, $num) {
return $this->utf8_ord($this->utf8_charAt($str, $num));
}
public function utf8_ord($ch) {
$len = strlen($ch);
if($len <= 0) return false;
$h = ord($ch{0});
if ($h <= 0x7F) return $h;
if ($h < 0xC2) return false;
if ($h <= 0xDF && $len>1) return ($h & 0x1F) << 6 | (ord($ch{1}) & 0x3F);
if ($h <= 0xEF && $len>2) return ($h & 0x0F) << 12 | (ord($ch{1}) & 0x3F) << 6 | (ord($ch{2}) & 0x3F);
if ($h <= 0xF4 && $len>3) return ($h & 0x0F) << 18 | (ord($ch{1}) & 0x3F) << 12 | (ord($ch{2}) & 0x3F) << 6 | (ord($ch{3}) & 0x3F);
return false;
}
public function utf8_charAt($str, $num) {
return mb_substr($str, $num, 1, 'UTF-8');
}
「致命的なエラー - 未定義関数 mb_substr() の呼び出し」というエラー メッセージが表示されます。
mb_substr() を機能させる方法を提案できる人はいますか? phpDesigner 8 をインストールしたとき、追加の関数ライブラリを含めるオプションを見た記憶がありません。
会社に連絡してみましたが、解決策はありません。
ありがとう!