Mattet
26 Ağustos 2016, 13:24
Google'ın arama sonucunda sayfamıza gelirken gönderdiği referer yaklaşık bunun gibi birşey , 'q' değişkenin içinde aranan kelimeler '+' işareti ile ayrılmış şekilde duruyor, php nin url fonksiyonlar ile bu sorguyu parçalayıp istediğimiz kelimeleri bir diziye aktarabiliriz
<?
$qs=parse_url($qs);
parse_str($qs["query"]);
$qs3=explode(" ",$q);
$limit=count($qs3);
?>
daha sonra ufak bir döngü ile bu kelimeleri arka fonu farklı bir renk olan bir spanın içine yerleştiriyoruz.
<?
for($i=0;$i!=$limit;$i++){
$buffer=str_replace("$qs3[$i]", "<span =\"background-color:#ffffcc;\">$qs3[$i]</span>", $buffer);
}
?>
tabi fonksiyonumuzun işini yapabilmesi için php sayfamızın buffera alınıp bu fonksiyon ile işlendikten sonra gönderilmesi gerekiyor, bunun için de genelde header hatalarının kapamak için kullanılan ob_start()'ı asıl var oluş amacına uygun şekilde kullanabiliriz
aşağıdaki kodu php sayfamızın başına yerleştirdikten sonra ob_end_flush() diyene kadar bütün metin üzerinde istediğimiz değişikliği yapacaktır
<?php
function degistir($buffer)
{
$qs=$_server['[Only Registered Users Can See Links]'];
$qs=parse_url($qs);
parse_str($qs["query"]);
$qs3=explode(" ",$q);
$limit=count($qs3);
for($i=0;$i!=$limit;$i++){
$buffer=str_replace("$qs3[$i]", "<span style=\"background-color:#ffffcc;\">$qs3[$i]", $buffer);
}
return $buffer;
}
ob_start("degistir");
// içerik buraya
ob_end_flush();
?>
<?
$qs=parse_url($qs);
parse_str($qs["query"]);
$qs3=explode(" ",$q);
$limit=count($qs3);
?>
daha sonra ufak bir döngü ile bu kelimeleri arka fonu farklı bir renk olan bir spanın içine yerleştiriyoruz.
<?
for($i=0;$i!=$limit;$i++){
$buffer=str_replace("$qs3[$i]", "<span =\"background-color:#ffffcc;\">$qs3[$i]</span>", $buffer);
}
?>
tabi fonksiyonumuzun işini yapabilmesi için php sayfamızın buffera alınıp bu fonksiyon ile işlendikten sonra gönderilmesi gerekiyor, bunun için de genelde header hatalarının kapamak için kullanılan ob_start()'ı asıl var oluş amacına uygun şekilde kullanabiliriz
aşağıdaki kodu php sayfamızın başına yerleştirdikten sonra ob_end_flush() diyene kadar bütün metin üzerinde istediğimiz değişikliği yapacaktır
<?php
function degistir($buffer)
{
$qs=$_server['[Only Registered Users Can See Links]'];
$qs=parse_url($qs);
parse_str($qs["query"]);
$qs3=explode(" ",$q);
$limit=count($qs3);
for($i=0;$i!=$limit;$i++){
$buffer=str_replace("$qs3[$i]", "<span style=\"background-color:#ffffcc;\">$qs3[$i]", $buffer);
}
return $buffer;
}
ob_start("degistir");
// içerik buraya
ob_end_flush();
?>