2016-05-30 44 views
1

我正在使用一個API,它使用JavaScript編碼內容的一部分。該內容在瀏覽器中可見,但在PHP中使用curl訪問該內容時,我得到普通的JavaScript代碼,因爲服務器上沒有JS引擎。我想在JavaScript中解碼/ unescape Unicode字符,就像JavaScript一樣。那可能嗎?使用PHP的Unescape unicode字符

請找普通的JavaScript的一個片段,我得到如下回應:

eval(unescape("document.write('%u0039%u0032%u0039%u0032%u0034')"));

的代碼片段應返回92924

+0

這是不是「編碼」的內容,這是一個逃跑的unicode符號。 – arkascha

+0

任何解決方案? – urgas9

+0

我想說curl不包含JS引擎,所以Javascript沒有啓動。所以,而不是JS輸出你收到JS代碼 –

回答

1

好吧,我找到了解決這個問題。

我現在解析出內容字符串,然後使用json_decode函數來避開Unicode字符,但首先%u必須用\ u替換。這裏是我的代碼:

$string = "%u0039%u0032%u0039%u0032%u0034"; 
$unescaped = str_replace("%u","\u", $string); 
echo json_decode('"'.$unescaped .'"'); 

這段代碼將輸出:92924