2014-02-18 37 views
-2

我的ID是a5efa5PHP ereg_replace工作不正常

代碼如下替換棄用[?] [^a-z0-9]不起作用。 a5efa5在我的數據庫表中的一個id。

//Connect to the database through our include 
include_once "database.php"; 
// Get the member id from the URL variable 
$id = $_REQUEST['id']; 
$id = ereg_replace("[^a-z0-9]", "", $id); // filter everything but numbers for security 
if (!$id) { 
    echo "Missing Data to Run"; 
    exit(); 
} 

幫助我的朋友,在哪裏我犯了一個錯誤......

+0

「*它不工作*」 是沒有用的。請解釋一下,如果你收到一條錯誤信息(如果是,哪一條)或者結果與你的期望有差異(如果是這樣,如何)。 –

+0

你的問題是什麼。你期待什麼輸出..你能提供一個例子 –

+0

從你的評論看來,你似乎只想避開數字。這是一個案子嗎?請解釋你期望從'a5efa5' id - 這個有效還是無效? – doc

回答

1

這可能是因爲ereg_replacedeprecated。以下是php.net網站上的內容

從PHP 5.3.0開始,此功能已被拒絕。依靠這個功能是非常不鼓勵的。

如果您使用的是大於5.3.0的版本或PHP,那麼它將不起作用。

+0

如果功能已被棄用,並不意味着它不起作用。 – doc

+0

有很多更好的問題/答案涵蓋了ereg_ *的棄用:http://stackoverflow.com/q/6270004/46675 –

1

使用的preg_replace

$id = preg_replace('#[^a-z0-9]+#', '', $id); 
+0

它不接受來自表 – user3304633

+0

的這個a5efa5 id對不起,我有我的代碼中的錯誤,我更新我的帖子,見上面 – LONGMAN

+0

我同意這是正確的答案。 – Quixrick