|
PHP Script ile web programlamayı bu site inşaAllah size öğretecek; Bunu isteyin !
|
PHP substr fonksiyonu
Gereksiz hiçbir bilgi yoktur. Lütfen hepsini dikkatli bir şekilde sırasıyla okuyun ve uygulayın. |
|
PHP index PHP Dersleri 1 Aralık 2008 den sonra ... PHP Derslerine Giriş PHP Kurulumu (Easy PHP) PHP öğrenmek istiyorum PHP Echo (değişkenler) PHP - dosya okuma PHP de Array (diziler) PHP for loop (döngü) PHP if sorgusu (and, or, not) PHP die ve if isset PHP date time functions PHP Dersleri Ekim 2010 dan sonra ... PHP String fonksiyonları PHP Substr fonksiyonu String dersleri henüz bitmedi... PHP include PHP Session PHP ile veritabanına bağlanmak PHP Derslerinin Sponsoru www.ismailpala.com'dur. |
PHP Dersleri [ Ders 12] PHP de Substr() KullanımıMetnin (string) bir parçasının başka bir değişkene alınmasıBu dersimizde Substr ve Strpos php fonksiyonlarını göreceğiz. Dersin en sonunda php kodları vardır. Kullanıcıların girdiği bir adres bilgisini düzenlemek için string parçalama fonksiyonunu (substr) kullanalım. Bu kullanım esnasında strpos fonksiyonu da tekrardan kullanmış olacağız. Farzedelim ki elimizde bir adres veritabanı var. Bu adreslerin düzenlenip aynı mahalle ve caddeli adreslerin gruplandırması yapılacak. Ziyaretçinin veritabanına girmiş olduğu adres şu şekilde olsun; $adres = "Kavacık Mah. Fatih Sultan Mehmet Cad. No: 48/2"; Adres cümlesinde baştan itibaren "Mah." ifadesini arayalım. Eğer bu ifade bulunursa bulunduğu yere kadar olan parçayı mahalle bilgisi olarak tutalım. $adres = "Merkez Cumhuriyet Cad. No: 14/D (Merkez Camii Karşısı)"; Adres bilgisi veren ziyaretçi yukarıdakine benzer bir adres de girmiş olabilir; Yani Mah. olmadan bir adres belirtmiş de olabilir. "Mah." ifadesi bulunamadıysa bu sefer de "Cad." ifadesini arayalım. Mahalle belirtilmeden cadde verildiğini düşünüp bu sefer de baştan dönen pozisyona kadar olan parçayı Cadde olarak tutalım. Ne kadar çok veri varsa genellemelerimizin o kadar boşa çıkması muhtemeldir. Bu durumda en geniş genellemeye ulaşana kadar genellememizi düzenlemek kaçınılmazdır. Şu anki adres genellemesi; Mah. diye bir bilgi varsa baştan itibaren buraya kadar olan mahalle bilgisidir. Eğer Mah. Yoksa Cad. araması yapılır Baştan itibaren bulunan yere kadarı Cadde olarak bölünür. Cad. ifadesi de yoksa bu sefer Sok. ifadesine bakılır. Her üç ifade de bulunamaz ise adres hatalıdır. Doğru bir adres olması için ; Mahalle, Cadde veya Sokak tan en az bir tanesi olmalıdır. Ve sıralamada Mah. Cad. Sok. şeklinde olmalıdır. PROGRAMLAMA MANTIĞI : PHP kodlama yapmadan önce cümlelerle programı yazalım. // adres değişkeninde Mah. ara // eğer bulunduysa stringi substr ile baştan oraya kadarını böl // Bu parçayı mahalle olarak tut. // Cad. araması yap // Cad. bulundu ve mahalle dolu ise // Mah. pozisyonundan Cad. pozisyonuna kadarı al // Cad. bulunu mahalle boş ise baştan itibaren Cad. olarak böl // Sok. araması yap // Mah. ve Cad. araması boş ise baştan itibareni Sok. diye böl // Sadece Mah. araması boş ise Cad. ifadesinden sonrasını böl // Sadece Cad. araması boş ise (Mah. dolu ise) ; // Mah. bulunan pozisyondan itibaren sokak değişkenine ata // hiçbir arama bulunamadıysa adres hatalıdır. PHP (WEB PROGRAMLAMA) KODLARI :
<html>
<head>
<title> PHP SUBSTR ve strpos fonksiyonu kullanımları [www.phphtml.net] </title>
</head>
<body>
<?php
//değişkenlere değerler atanıyor
$mah = "";
$cad = "";
$sok = "";
$kalan = "";
$adres = "Kavacık Mah. Fatih Sultan Mehmet Cad. No: 48/2";
$adres = "Merkez Cumhuriyet Cad. No: 14/D (Merkez Camii Karşısı)";
echo $adres . "<br>";
//1. kısım mahalle
$mah_pozisyon = strpos($adres,"Mah.");
if($mah_pozisyon){
// eğer bulunduysa stringi substr ile baştan oraya kadarını böl
$mah = substr($adres,0,$mah_pozisyon);
}else{
}
echo "<br><B>MAHALLE:<B>". $mah;
//2. kısım cadde
$cad_pozisyon = strpos($adres,"Cad.");
if($cad_pozisyon){
// eğer bulunduysa stringi substr ile baştan oraya kadarını böl
if($mah == ""){
$cad = substr($adres,0,$cad_pozisyon);
$cad = trim($cad);
}else{
$cad = substr($adres, $mah_pozisyon + 4,$cad_pozisyon - $mah_pozisyon - 4);
$cad = trim($cad);
}
}else{
}
echo "<br> <B> CADDE: <B> ".$cad;
//3. kısım sokak
$sok_pozisyon = strpos($adres,"Sok.");
if($sok_pozisyon){
// eğer bulunduysa stringi substr ile baştan oraya kadarını böl
if(($mah == "")&&($cad == "")){
$sok = substr($adres,0,$sok_pozisyon);
$sok = trim($sok);
}else{
if($mah == ""){
$sok = substr($adres, $cad_pozisyon + 4,$sok_pozisyon - $cad_pozisyon - 4);
$sok = trim($sok);
}
if($sok == ""){
$sok = substr($adres, $mah_pozisyon + 4,$sok_pozisyon - $mah_pozisyon - 4);
$sok = trim($sok);
}
}
}else{
}
echo "<br> <B> SOKAK: <B> ".$sok;
?>
</body>
</html>
PHP dersinin hazırlanma zamanı : 07 Ekim 2010 Perşembe Yayınlanma Tarihi: |
|
Nihat ve Levent'e sitenin oluşturulması için vermiş oldukları destekten ötürü teşekkür ederiz. Yayına başlama 1 Aralık 2008 Pazartesi Saat 21:10 dur. Lütfen sitedeki içerikleri kaynağına link vermeden hiçbir yerde yayınlamayınız. |