Strstr ile kaldırmak URL parçasıdır ve dosya uzantısı

5 Cevap

Ben fonksiyonu çalıştı: strstr, ama bir sorun var. Varsayalım, URL gibi görünüyor:

http://www.example.com/indeks.php

Strstr ile, I '/' önce bir şey çıkarmak mümkün duyuyorum, ama ben sadece istiyorum:

indeks

yani uzantısı olmadan dosyanın gerçek adı.

5 Cevap

. Her zaman php biter Eğer yapabilirsiniz:

basename('http://www.example.com/index.php', '.php')

Diğer uzantıları ile sona varsa, bunu yapabilirsiniz:

if (preg_match('#([^/]+)\.\w+$#', 'http://www.example.com/index.php', $matches))
    $basename = $matches[1];

Dosya türü değiştirebilir ve emin değilseniz başka vardır. dosya adı, örneğin index.2.php sonra kullanabilirsiniz

$filename = basename('http://www.example.com/index.php');
$filename = substr($filename, 0, strpos($filename, '.'));

Doğru iş için doğru aracı, uygun bir URL çözümleyici için 1 cletus. Regex kesmek çeşitli sorgu dizesi şeyler için başarısız olur.

Ancak burada aranmaktadır son yol parçası değil konak bulunuyor. Yani:

$url = parse_url($address);
$filename= array_pop(explode('/', $url['path']));
$filestem= explode('.', $filename)[0];

Onun çok basit, fazla kod gerek.

sadece manuel olarak yapmak ve otomatik olarak readed olacak

sadece böyle url yazmak

      http://www.example.com/index

. php sonunda olduğu gibi ve bu dosyaları gösterecektir.