Front-end fejlesztés

Csiripek plugin nélkül

A Twitter for WordPress Pluginnal megjeleníthetjük weboldalunkon, hogy mit is csiripelünk éppen a twitteren. Ez megoldható bővítmény nélkül is. Akárhogy nézzük weboldal készítés során törekednünk kell arra, hogy weboldalunk minél gyorsabb legyen, emiatt jobb, ha ilyen megoldásokat alkalmazunk és nem mindig bővítményeket. De erről majd még később lesz szó. Az alábbi kódot illeszd oda ahol meg szeretnéd jeleníteni az utolsó csiripet és a php kódban természetesen írd be saját twitter felhasználóneved.

<?php

$username = "TwitterFelhasználóneved";

$prefix = "<h2>Utolsó csiripek</h2>";

$suffix = "";

$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1";

function parse_feed($feed) {
    $stepOne = explode("<content type=\"html\">", $feed);
    $stepTwo = explode("</content>", $stepOne[1]);
    $tweet = $stepTwo[0];
    $tweet = str_replace("&lt;", "<", $tweet);
    $tweet = str_replace("&gt;", ">", $tweet);
    return $tweet;
}

$twitterFeed = file_get_contents($feed);
echo stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix);
?>
</pre>
Ha ezt egy kicsit tovább akarjuk cifrázni, akkor megjeleníthetjük azt is, hogy hányan iratkoztak fel a csiripeinkre:
<pre lang="php" line="1">
<?php function string_getInsertedString($long_string,$short_string,$is_html=false){
  if($short_string>=strlen($long_string))return false;
  $insertion_length=strlen($long_string)-strlen($short_string);
  for($i=0;$i<strlen($short_string);++$i){
    if($long_string[$i]!=$short_string[$i])break;
  }
  $inserted_string=substr($long_string,$i,$insertion_length);
  if($is_html && $inserted_string[$insertion_length-1]=='<'){
    $inserted_string='<'.substr($inserted_string,0,$insertion_length-1);
  }
  return $inserted_string;
}

function DOMElement_getOuterHTML($document,$element){
  $html=$document->saveHTML();
  $element->parentNode->removeChild($element);
  $html2=$document->saveHTML();
  return string_getInsertedString($html,$html2,true);
}

function getFollowers($username){
  $x = file_get_contents("http://twitter.com/".$username);
  $doc = new DomDocument;
  @$doc->loadHTML($x);
  $ele = $doc->getElementById('follower_count');
  $innerHTML=preg_replace('/^<[^>]*>(.*)<[^>]*>$/',"\\1",DOMElement_getOuterHTML($doc,$ele));
  return $innerHTML;
}
?>

<?php echo getFollowers("TwitterFelhasználóneved")." Feliratkozó"; ?>