Expressão Regular, trocando nome de usuário e hash tag de retorno do Twitter, por link
É.. o título ficou bem extenso..
mas não tinha como resumir. Somente isso, eu já tinha mostrado como buscar uma hashtag no twitter usando php, agora, apenas para ficar registrado, 2 ERs aqui, para colocar link nos usuários e nas hashtags retornadas.
As ERs são bem simples:
Array(
'/@([\w]+)/',
'/(#[\w]+)/'
),
Então, lá vai o source completo:
<?php
header('Content-type: text/html; charset=utf-8');
$hash = '%23locaweb';//apenas para ficar claro oque é
$search = 'http://search.twitter.com/search.json?q='.$hash.'&rpp=10';
function curl_file($url, $timeout=0){
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
//curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
$content = curl_exec( $ch );
curl_close( $ch );
return $content;
}
$json = curl_file( $search );
$data = json_decode( $json );
$li = '<ul>'.PHP_EOL;
foreach( $data->results AS $post ){
$li .= "\t".'<li><img src="'.$post->profile_image_url.'" alt="'.$post->from_user.'" title="'.$post->from_user.'" /> ';
$li .= preg_replace(
Array(
'/@([\w]+)/',
'/(#[\w]+)/'
),
Array(
'<a href="http://twitter.com/#!/$1" title="$1">@$1</a>',
'<a href="http://twitter.com/#!/search/$1" title="$1">$1</a>'
),
$post->text
);
$li .= '</li>'.PHP_EOL;
}
echo $li,'</ul>';
é isso ai.
Se vc usar, ou ler este post, não deixe de comentar! Me ajuda a produzir mais conteúdos relevantes e interessantes.
E aproveitando a deixa do Twitter, me siga! @tiu_uiLL
Demonstração Online
é isso ai, vlw!