2014-02-07 2 views
1

У меня есть этот скрипт:PHP Regex переписывают .something к .php

<?php 
if(isset($_GET['p'])) { 
    $allowedPages = array(); 
    $openDir = opendir('./pages/'); 

    while(false !== ($entry = readdir($openDir))) { 
     $allowedPages[] = $entry; 
    } 

    closedir($openDir); 

    preg_replace('~\..*~', '.php', $_GET['p']); 

    echo $_GET['p']; 
    if(in_array($_GET['p'], $allowedPages)) { 
     include './pages/'.$_GET['p']; 
    } else { 
     echo '404'; 
    } 
} 
?> 

То, что я хочу, если вы идете в mysite.com/?p=test.html, test.html следует переписать в test.php, но не работает.

Он работает на RegExr: http://regexr.com?387t0

Как исправить?

UPDATE:

Как переписать индекс index.php?

ответ

0

Чтобы ответить также на свой второй части:

preg_replace('/([^.]+)(?:\.[^.]+)?$/', "$1.php", $string); 
Смежные вопросы