2016-06-07 22 views
0

Ich versuche, die Google API V2 mit PHPGoogle API v2 Übersetzen - überspringen Wörter und Sonderzeichen

ich einige Wörter auszuschließen verwenden müssen, damit ich sie in <span class"notranslate">WORD</span>

bin Einwickeln Das Problem ist, dass mein Text enthält einige Sonderzeichen, so bin ich mit urlencode($input)

das Problem ist, dass urlencode bricht das Wort Funktionalität ausschließen ...

Was mache ich falsch?

Beispiel

$url = "https://www.googleapis.com/language/translate/v2"; 
$params = array(
    'key' => $helper->getConfigValue('google_api'), 
    'source' => $from, 
    'target' => $to, // NOTE for CHINESE zh-CN 
    'q' => urlencode($input), 
); 
$url .= '?' . http_build_query($params); 

$handle = curl_init($url); 
.... 
+1

http_build_query wendet bereits URL-Codierung an, daher ist der 'urlencode ($ input)' redundant. – Devon

+0

Ich denke du hast Recht :) füge es als Antwort hinzu Ich werde es akzeptieren – WonderLand

Antwort

1

http_build_query gilt bereits URL-Codierung, so dass die urlencode($input) ist redundant

<?php 
$str = '<span class="notranslate">WORD</span>'; 

$params = [ 
    'single' => $str, 
    'double' => urlencode($str) 
];   
echo http_build_query($params); 

Ergebnisse in:

single=%3Cspan+class%3D%22notranslate%22%3EWORD%3C%2Fspan%3E 
double=%253Cspan%2Bclass%253D%2522notranslate%2522%253EWORD%253C%252Fspan%253E 

Notiere die doppelte Codierung auf double.