如何從這樣的變量我出來: $var1 = "www.game.mysite.com/folder/page.php?var1=1&var2=2";
從變量中獲取PHP文件?
然後,我想以某種方式得到只有「page.php文件」,什麼都被設置爲?
任何想法如何做到這一點?
如何從這樣的變量我出來: $var1 = "www.game.mysite.com/folder/page.php?var1=1&var2=2";
從變量中獲取PHP文件?
然後,我想以某種方式得到只有「page.php文件」,什麼都被設置爲?
任何想法如何做到這一點?
一些簡單的正則表達式將讓你擺脫困境:
$var1 = "www.game.mysite.com/folder/page.php?var1=1&var2=2";
preg_match('/([a-z]+\.php)/', $var1, $file); // Returns `page.php`
有這麼tehlulz提到的,或者也可以在活動中的preg_replace選項,你不知道文件擴展名是什麼的preg_match方法。
$pattern = '/(.*)(\/)(.*)(\?)(.*)/';
$replacement = '$3';
$filename = preg_replace($pattern, $replacement, $var1);
有幾種方法可以完成您的工作。
這將使用路徑的最後一段。
$var1 = "www.game.mysite.com/folder/page.php?var1=1&var2=2";
$path = parse_url($var1, PHP_URL_PATH);
$path_parts = explode('/', $path);
var_dump($path_parts[count($path_parts) -1]);
輸出:
string(8) "page.php"
對不起,我沒有看到jeroen的回答,他是最好的。 –
試試這個
$var1 = "www.game.mysite.com/folder/page.php?var1=fgsd rew1&var2=2";
$reversed_string = strrev($var1);
$pos_of_questionMark = strpos($reversed_string, "?");
$pos_of_first_slash = strpos($reversed_string, "/");
$getfilename = strrev(substr($reversed_string,$pos_of_questionMark+1, $pos_of_first_slash-$pos_of_questionMark-1));
echo $getfilename;
你的意思是php文件的名稱,或者你的意思是php文件的內容? – King