Não tem muito oque explicar.

vou fazer um search no Twitter, procurando por determinada hash tag #wbruno, e então devolver um HTML simples para inserirmos no nosso site.

Usei aqui, algumas funções nativas do php, como file_get_contents(), var_dump(), e json_decode().

O link para mais esclarecimentos do search é: http://dev.twitter.com/doc/get/search

<?php
  header('Content-type: text/html; charset=utf-8');


  $hash = '%23wbruno';//apenas para ficar claro oque é
  $search = 'http://search.twitter.com/search.json?q='.$hash.'&rpp=10';

  $json = file_get_contents( $search );
  /*
    "{"results":[
      {
        "from_user_id_str":"18765280",
        "profile_image_url":"http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg",
      ...
  */
  $data = json_decode( $json );
  /*
  object(stdClass)#1 (10) {
    ["results"]=>
    array(6) {
    [0]=>
    object(stdClass)#2 (14) {
      ["from_user_id_str"]=>
      string(8) "18765280"
      ["profile_image_url"]=>
      string(89) "http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg"
      ["created_at"]=>
      string(31) "Sat, 28 May 2011 13:35:21 +0000"
      ["from_user"]=>
      string(8) "tiu_uiLL"
      ["id_str"]=>
      string(17) "74468805430087680"
      ["metadata"]=>
      object(stdClass)#3 (1) {
      ["result_type"]=>
      string(6) "recent"
      }
      ["to_user_id"]=>
      NULL
      ["text"]=>
      string(113) "Novo Post: Formulário de busca com filtro dinâmico em MySQL e php http://www.wbruno.com.br/?p=1058 #wbruno"
      ["id"]=>
      float(7.4468805430088E+16)
      ["from_user_id"]=>
      int(18765280)
      ["geo"]=>
      NULL
      ["iso_language_code"]=>
      string(2) "pt"
      ["to_user_id_str"]=>
      NULL
      ["source"]=>
      string(97) "<a href="http://www.wbruno.com.br" rel="nofollow">wbruno</a>"
    }
  */


  $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.'" />
      '.$post->text.'</li>'.PHP_EOL;
  }
  echo $li,'</ul>';

com isso, a minha saída no instante em que rodei, foi:

<ul>
  <li><img src="http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg" alt="tiu_uiLL" title="tiu_uiLL" />
      Novo Post: Formulário de busca com filtro dinâmico em MySQL e php http://www.wbruno.com.br/?p=1058 #wbruno</li>
  <li><img src="http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg" alt="tiu_uiLL" title="tiu_uiLL" />
      Acessar função de um iframe, apatir do documento pai http://t.co/MqrYpuf #wbruno</li>
  <li><img src="http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg" alt="tiu_uiLL" title="tiu_uiLL" />
      Post Editado: Criando um plugin jQuery - parte 3 - Otimizando http://www.wbruno.com.br/?p=343 #wbruno</li>
  <li><img src="http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg" alt="tiu_uiLL" title="tiu_uiLL" />

      Novo Post: Navegação sem refresh – carregando conteúdo com ajax em div 2 http://www.wbruno.com.br/?p=1038 #wbruno</li>
  <li><img src="http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg" alt="tiu_uiLL" title="tiu_uiLL" />
      Novo Post: Validando inputs com Expressão Regular com jQuery http://www.wbruno.com.br/?p=1034 #wbruno</li>
  <li><img src="http://a3.twimg.com/profile_images/1318748377/0863ff06d8563514ab26e03e0fad1fa6_normal.jpg" alt="tiu_uiLL" title="tiu_uiLL" />
      Novo Post: Só carregar scripts js, se houver suporte a js http://www.wbruno.com.br/?p=1031 #wbruno</li>
</ul>

Demonstração Online

Deixei um parâmetro, caso vc queria fazer um teste:

http://wbruno.com.br/scripts/search_hash_twitter.php?hash=locaweb

Versão com cURL

$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 );