簡體   English   中英

Twitter API 1.1中的HTML實體->發布

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM