我一直在使用Twitter REST API并且发现推文数据不会自动包装锚标签中的链接。所以我编写了一个PHP函数来搜索每个推文文本并为我做这个。
它找到以“@”或“#”开头的任何内容以及常规链接,并将其替换为相关标记。我遇到的问题是我将找到的表达式放回到替换中,我需要从实际链接href中删除前导'@'或'#'。
我该怎么做?
function tTweet($tTweet){
$tPattern = array(
'/(http:\/\/t\.co\/[a-z0-9]+)/i',
'/(@[a-z0-9]+)/i',
'/(#[a-z0-9]+)/i' );
$tReplace = array(
'<a href="$1" target="_blank">$1</a>',
'<a href="https://twitter.com/$1" target="_blank">$1</a>',
'<a href="https://twitter.com/search?q=%23$1&src=hash" target="_blank">$1</a>' );
echo preg_replace($tPattern,$tReplace,$tTweet);
}