v2.5.2
Giriş yap

php ile sitenin kaynak kodunda kelime nasıl aratılabilinir ?

onurnerde
399 defa görüntülendi ve 1 kişi tarafından değerlendirildi

php ile sitenin kaynak kodunu aldığımızda bir kelime varmı yokmu nasıl kontrol edebiliriz ?
ben biraz uğraştım fakat sitenin altlarında olan kelimenin çıktısını alamadım ?
sitenin başında olunca kelimeleri aratıp çıktısını alabiliyoruz fakat altlarında olunca alamıyoruz ?
ilgili işlemleri nasıl yapabiliriz ?

Cevap yaz
Cevaplar (6)
bhebatu
509 gün önce

PHP 5.6 sürümünde file_get_contents() fonksiyonuyla HTTPS üzerinden kaynak kodunu almak bazen sorunlara neden olabilir. Bu nedenle, alternatif bir yöntem kullanmanız gerekebilir. İşte CURL kütüphanesini kullanarak PHP 5.6 sürümünde kaynak kodunu almanın bir örneği:

// URL'yi belirtin
$url = 'http://www.example.com';

// CURL örneği oluşturun
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// Kaynak kodunu alın
$sourceCode = curl_exec($curl);

// CURL işlemini kapatın
curl_close($curl);

// Kontrol etmek istediğiniz kelimeyi belirtin
$keyword = 'kelime';

// strpos() fonksiyonunu kullanarak kelimenin konumunu bulun
if (strpos($sourceCode, $keyword) !== false) {
echo "Kelime mevcut";
} else {
echo "Kelime mevcut değil";
}

Bu kod, CURL kütüphanesini kullanarak belirtilen URL'den kaynak kodunu alır ve ardından belirtilen kelimenin var olup olmadığını kontrol eder. Sonrasında, ilgili mesajı ekrana yazdırır.

PHP 5.6 sürümünde file_get_contents() fonksiyonunun HTTPS üzerinden kaynak kodunu almakta sorun yaşadığınızı belirttiğiniz için CURL kütüphanesini kullanarak alternatif bir yöntem sundum. CURL, HTTP ve HTTPS gibi protokoller üzerinden veri alışverişi yapmak için kullanılan bir kütüphanedir ve PHP'nin eski sürümlerinde de yaygın olarak kullanılmaktadır.

Umarım bu örnek size yardımcı olur! Başka bir sorunuz olursa buradayım.

bmathers
515 gün önce

Aşağıdaki kodu denediğimde hedef sitede aradığım bir kelimenin varlığını kontrol edebiliyorum. Muhtemelen işini göreceğini tahmin ediyorum, deneyebilir misin :)?

Eğer kod çalışmadıysa veri çekmeye çalıştığın web sitesinin bağlantısını gönderebilirsen yardımcı olmaya çalışayım.

$url = 'https://www.hurriyet.com.tr/';
$contents = file_get_contents($url);

if ($contents === false) {
    die('İçerik alınamadı');
}

$keyword = "Dolar Kuru";

// Düzenli ifadeyle arama yapma (büyük-küçük harf duyarlı olmayan arama)
$pattern = '/\b' . preg_quote($keyword, '/') . '\b/i';
if (preg_match($pattern, $contents)) {
    echo "Kelime bulundu!";
} else {
    echo "Kelime bulunamadı!";
}
onurnerde
515 gün önce

sorumun cevabını PHP 5.6 sürümü için nasıl alabilirim?

onurnerde
527 gün önce

   $trabzonspor= file_get_contents("ankara");
   preg_match_all("#<galatasaray>(.*?)</galatasaray>#si",$trabzonspor,$geliyor);
   $cikti=implode("", $geliyor[1]);
   echo $cikti;
   

yukarıdaki fonksiyon çalışıyor.

onurnerde
527 gün önce

bahsettiğiniz yazılım site içeriklerindeki dosyaları tarıyor.
uzak bir sitenin içeriklerini nasıl alabiliriz ?

mesela trabzonspor diye bir site olsun bu sitenin içeriğinde ;

<galatasaray>fenerbahçe</galatasaray>

yukarıdaki html tagını ilgili trabzonspor sitesinin içeriğinden nasıl alabiliriz ?

murat03yigit
528 gün önce
  • Dosya Adı
  • Satır Numarası
  • Satırdaki tüm kod

Dosya içeriklerini tarayıp gösteriyor ancak alt klasörlere erişemiyor.

<?php
// ----- Aranacak Değer Değişkeni
$searchContent = "ARANACAK VERİ";
// -----

$files = glob("*");

foreach($files as $len => $file){
  $content = file_get_contents($file);
  $render = explode("\n",$content);
  foreach($render as $len2 => $ren){
    if(stripos($ren,$searchContent) !== false){
      $num = $len2+1;
      echo "\n\n-----\n";
      echo "Dosya Adı: ".$file."\n";
      echo "Satır Numarası: ".$num."\n";
      echo "KOD: ".$ren."\n";
    }
  }
}
?>