PHP - HTML 个字符在推文状态中发布

PHP - HTML characters posted within Tweet status

当使用 Abrahams/TwitterOAuth 库时,特殊的 HTML 字符被放置在推文中。

$content = "test's";

$params = array(
"status" => $content
);

$result = $connection->post("statuses/update", $params);

结果

test's

在发布的推文状态中。

浏览器中的 vardump($content) 按预期显示 test's

我已经尝试了 html_entity_decodehtmlspecialchars_decode,但都不适用于发布的推文。

您需要明确告诉它转换引号。这是通过 ENT_QUOTES.

完成的

示例:

echo htmlspecialchars_decode('test's',ENT_QUOTES) . "\n";
echo htmlspecialchars_decode('test's');

输出:

test's
test's

演示:https://eval.in/426992

如果您只想解码单引号等,还可以使用其他常量。有关详细信息,请参阅手册,http://php.net/manual/en/function.htmlspecialchars-decode.php

ENT_QUOTES Will convert both double and single quotes.

  $content = "test's";
  $content = htmlspecialchars_decode($content, ENT_QUOTES);

适合我。

谢谢 chris85!