|
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii
Bulma ve değiştirme :
Perl ile herhangi bir tekil değişken içeriğinde (cgi dosyası dahilinde atanmış tekil değişken, veri dosyasından aldığımız bilgi, formdan gelen bilgi...) isteğe bağlı olarak değiştirilme yapılabilir ya da belli karakterler ya da karakter toplulukları silinebilir. Mesela bir ziyaretci defteri yazıyorsanız bazı karakterlerin kullanılmamasını ya da sansürlenmesini sağlayabilirsiniz ya da güvenlik açısından bazı kodların kullanılmasını engelleyebilirsiniz. Fonksiyonun kullanımı şu şekildedir:
$tekil_degisken =~ s/bulunacak/değiştirilecek/g;
Eğer değiştirilecek karakterler içerisinde html unsuru bulunuyorsa /g; yerine satır /isg; şeklinde bitmelidir.
$tekil_degisken =~ s/\[kalinyazi]/\/isg;
gibi...
Örnek :
#!/usr/bin/perl
# buldegistir.cgi
print "Content-type:text/html\n\n";
use CGI qw(:standard);
$query = new CGI;
$bul = $query -> param('bul');
$degistir = $query -> param('degistir');
$metin = $query -> param('metin');
if ($bul ne "" or $degistir ne "") {
$metin =~ s/$bul/$degistir/g;
print "Gönderdiğiniz metindeki <b>\"$bul\"</b> karakter(ler)i ";
print "<b>\"$degistir\"</b> karakter(ler)i ile değiştirildi.<br><br>";
print "Metnin değişmiş hali:<br><br>";
print "$metin<br><br>";
}
print "<html><body><br>";
print "<form action=buldegistir.cgi method=post>";
print "Buraya metni girin :<br>";
print "<textarea name=metin cols=60 rows=7></textarea><br><br>";
print "Metin içerisinde <input type=text name=bul size=10> ";
print "geçen yerleri <input type=text name=degistir size=10> yazısı ile ";
print "<input type=submit value=Değiştir!>";
print "</form>";
print "</body></html>";
|
Bu fonksiyonun kullanım alanı çok geniştir. Formlarda, mesaj tahtalarında ya da ziyaretci defterinde filtreler, özel kod kullanımı hatta şu sırıtan kafalar (smiley'ler) bu fonksiyon sayesinde kullanılabilir. Bu fonksiyon sadece tekil değişkenlerde uygulanabilir, dizi değişkende bu fonksiyonu uygulamak için döngü sağlayıp (foreach) dizinin her elemanına teker teker =~ s fonksiyonu uygulamak gerekir.
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii
|