[英]HTML Entities in Twitter API 1.1 ->post
因此,我正在使用Twitter API 1.1 $ connection-> post發送一條推文。 問題是,當我有特殊字符時,例如在tweet字符串中的撇號,即:
$vinedesc = 'News Reporter's reaction';
$connection->post('statuses/update', array('status' => $vinedesc));
該推文在推文中包含了HTML實體,即:
News Reporter's reaction
我該如何阻止這種情況的發生? 有人建議使用rawurldecode,但以下內容不起作用,我猜我在給定上下文的情況下未正確使用它:
$vinedescraw = 'News Reporter's reaction';
$vinedesc = rawurldecode($vinedescraw);
$connection->post('statuses/update', array('status' => $vinedesc));
有什么建議么?
該行:
$vinedescraw = 'News Reporter's reaction';
有語法錯誤,應為:
$vinedescraw = 'News Reporter\'s reaction';
此外,您應將rawurlencode()與'News Reporter's reaction'
作為參數使用,或者將rawurldecode()與
'News Reporter's reaction'
作為論點,從一個變為另一個。
我遇到了同樣的問題,並且嘗試了addlashes(),htmlentities和所有編碼后的東西。 事實證明,Twitter喜歡文件類型為UTF-8,而不是ANSI或其他任何類型。 :-)現在,我的引號和撇號都可以。
我遇到了類似的問題,盡管就我而言,我知道源字符串已經嵌入了HTML字符。 我在PHP網站( http://php.net/manual/en/function.html-entity-decode.php )上發現了這種轉換,該轉換可立即解決問題:
$vinedesc=preg_replace_callback("/(&#[0-9]+;)/", function($m) { return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); }, $vinedescraw);
正如提到的諾曼·伯德(Norman Bird)的答案一樣,轉換為UTF-8可以解決問題!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.