我对编码很陌生,想尝试为我的网站构建一个 twitter 应用程序。在一些帮助下,我能够掌握所有基础知识,但我现在正在努力解决两件事:
- 将 Twitter XML 数据转换为可点击的链接
- 确保 XML 文本正确呈现(似乎 XML 中的“”(引号)呈现不正确(如““”)。
我似乎已经找到了如何修复这两个问题的答案,但是对于 PHP 来说太新了,我不确定如何在我的代码中实现这两个修复。任何帮助将不胜感激。
我发现问题1的解决方案:
function twitterify($status) {
$status = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $status);
$status = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $status);
$status = preg_replace("/@(\w+)/", "<a href=\"http://www.twitter.com/\\1\" target=\"_blank\">@\\1</a>", $status);
$status = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\" target=\"_blank\">#\\1</a>", $status);
return $status;
}
我发现问题 2 的解决方案是使用 html_entity_decode... 但我再次不确定如何在我的代码中实现这两个解决方案。
到目前为止我的代码:
<?php
$xmldata = 'https://twitter.com/statuses/user_timeline/carmeloanthony.xml';
$open = fopen($xmldata, 'r');
$content = stream_get_contents($open);
fclose($open);
$xml = new SimpleXMLElement($content);
?>
<table class="table table-striped">
<?php
foreach($xml->status as $status)
{
?>
<tr>
<td> <img src=" <?php echo $status->user->profile_image_url; ?>" /> </td>
<td><strong> <?php echo $status->user->name; ?></strong> <i>@<?php echo $status->user->screen_name; ?></i> <br /> <?php echo $status->text; ?></td>
<td style="width: 40px;"><?php echo date("M j",strtotime($status->created_at)); ?></td>
</tr>
<?php
}
?>
</table>