Ne u0026 # 39 \ olup, n ve onu nasıl çözmek mi?

2 Cevap php

Yani başka bir dilde, bunun çoğu harika görünüyor olduğunu bir dize var, ama bazı parçaları yanlış kodlandığı. Nasıl değişmez dize \u0026#39;n kendi unicode haline dönüştürmek mi (?) PHP eşdeğer?

2 Cevap

Aşağıdaki PHP işlevi \u0026#39;n 'n çevirmek olacaktır. Bu Google Translate API ile iletişim kurmak için kullanılır.

function unescapeUTF8EscapeSeq($str) {
    return preg_replace_callback("/\\\u([0-9a-f]{4})/i",
        create_function('$matches',
            'return html_entity_decode(\'&#x\'.$matches[1].\';\', ENT_QUOTES, \'UTF-8\');'
        ), $str);
}

O ayrı toplama, en az iki farklı kodlama işlemleri aracılığıyla olmuştur görünüyor. Unicode kod noktası altıgen 26, veya ondalık 38 var - \u0026 ile başlamak. İlk 128 unicode codepoints ASCII olarak aynıdır, bu nedenle bu ASCII 38, bir ve işareti olduğunu.

Yani şimdi biz tek tırnak karakteri, ' olan karakteri 39, bir HTML veya XML entitization gibi görünüyor ki, 'n var.

Bize verilmesi 'n. Bağlam daha fazla ipucu sağlamaz - Ben daha çözmek için nasıl göremiyorum?