機種依存文字チェック

    // 13区 0x8740〜0x879F  NEC-IBM拡張 0xED40〜0xEEFC  IBM拡張 0xFA40〜0xFC4B  外字 0xF040〜F9FC
    if(preg_match("/([\x87][\x40-\x9F]|[\xED-\xEE][\x40-\xFF]|[\xFA-\xFB][\x40-\xFF]|[\xFC][\x40-\x4B]|[\xF0-\xF9][\x40-\xFF])/", $str)) {
        echo "機種依存文字あり";
    }

こんな感じでどうだろう??
ざっくりしたテストしかしてません。