2012-03-12 54 views
0

可能重複 '?':我在管理面板
PHP URL encoding retaining invalid url characters如何更換特殊的元素,如等爲HTML實體號

使用下面的表單similiar。管理員可以登錄和發佈狀態(同時使用數據庫和文件系統)。

<form method="post" action="post.php"> 
Title : <input type="text" name="title"> 
Content : <textarea name="status" rows="10" cols="60"></textarea> 
</form> 

在post.php中

$title = trim(strip_tags($_REQUEST['title'])); 

如果管理員職位狀態。將使用輸入的標題創建一個文件夾,並將標題名稱存儲在mysql數據庫中。但是,當管理員使用特殊字符如「?」 ,網址編碼是這樣的http://example.com/title?,它顯示404找不到。那麼我怎樣才能將標題元素的特殊字符替換爲實體編號。

這將是有益的,如果答案是在PHP

+0

您正在尋找['rawurlencode'(http://php.net/rawurlencode)(這是PHP)。 – hakre 2012-03-12 22:05:31

+0

@hakre yea謝謝! – 2012-03-12 22:11:22

回答

0

試試這個

$標題= TRIM(用strip_tags($ _ POST [ '標題' ]));

其次是

urlencode($ title);

應該做你需要的。

http://de3.php.net/manual/en/function.urlencode.php

+0

這個工程,但我只是想改變只有2到3個字符像?,',。所以我使用str_replace。但我會嘗試urlencode。謝謝 – 2012-03-13 07:51:41

0

嘗試使用此代碼$title = str_replace("?","",$title)

+0

這將直接刪除它們。海報想要的是html實體形式。例如,'?'會變成'?'。 – 2012-03-13 13:53:53

相關問題