• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

PHP Vikipedi Sözlük/Bot

Konuyu Okuyan Kişiler (0)

gkbrk

webmaster.tc
Katılım
9 Ağu 2012
Mesajlar
1,044
Beğeniler
0
#1
Evet arkadaşlar Vikipedi'de yüzbinlerce madde bulunuyor ve bu maddelerin ilk cümleleri genelde kelime anlamını veriyor. Ben de bundan yararlanarak basit bir sözlük kodu yazdım.

Tamamen açık kaynaklı ve geliştirilebilir bir kod. Tek dosyadan oluşuyor. Hataları bildirirseniz en yakın zamanda düzeltirim.

PHP:
<?php
header('Content-Type: text/html; charset=utf-8');
function datacek($url)
{
    $browser = $_SERVER['HTTP_USER_AGENT'];
    $oturum = curl_init();
    curl_setopt($oturum, CURLOPT_URL, $url);
    if (preg_match('|https\:|isU', $url)) { curl_setopt ($oturum, CURLOPT_SSL_VERIFYPEER, false); }
    curl_setopt($oturum, CURLOPT_USERAGENT, $browser);
    curl_setopt($oturum, CURLOPT_HEADER, 0);
    curl_setopt($oturum, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($oturum, CURLOPT_CONNECTTIMEOUT, 33);
    $cekilendatalar = curl_exec($oturum);
    curl_close($oturum);
    return $cekilendatalar;
}
echo <<<arkaplan
<style type="text/css">
<!-- 
body{background-image:url(http://img.webme.com/pic/c/cunobag/arka11.jpg);background-attachment: fixed} 
-->
</style>
<center>
arkaplan;
if (isset($_GET['ara'])){
$ara=$_GET['ara'];
echo <<<form
<form action="index.php" method="GET">
<input type="text" name="ara" value="{$ara}"><input type="submit" value="Ara!">
</form><br>
form;
echo '<div style="border:5px solid gray;">';
$ara=str_replace(" ","_",$ara);
$ara=ucfirst($ara);
$kaynak = datacek("http://tr.wikipedia.org/wiki/".$ara);
$desen='@<p>(.*?)[.]@i';
@preg_match_all($desen,$kaynak,$ilkcumle);
@$ilkcumle = strip_tags(trim($ilkcumle[0][0]));
echo $ilkcumle;
echo "</div>";
}else{
echo <<<form
<form action="index.php" method="GET">
<input type="text" name="ara"><input type="submit" value="Ara!">
</form>
form;
}
echo "</center>";
?>
Lütfen görüş ve yorumlarınızı paylaşmaktan çekinmeyin.