2011-12-30 72 views
1

上運行PHP 5.3.8不推薦使用:功能eregi_replace()

棄用時,我收到以下錯誤:功能eregi_replace()在 /home/XXXXXX/public_html/admin/modifypoll.php已經過時上線49

這是一行代碼,任何人都可以幫助請

$question = eregi_replace('</?[a-z][a-z0-9]*[^<>]*>', '', $question); 

我不知道該怎麼改變它。 誰能幫助請

+1

[將ereg表達式轉換爲preg]可能的重複(http://stackoverflow.com/questions/6270004/converting-ereg-expressions-to-preg) – mario 2011-12-30 13:56:19

+0

可能的重複[已棄用的PHP函數eregi_replace替代](http://stackoverflow.com/questions/2084881/alternative-for-deprecated-php-function-eregi-replace) – 2011-12-30 20:26:27

回答

5

整個ereg系列函數在PHP中已被棄用,並且將在某些時候從語言中刪除。替代品是preg系列。在大多數情況下,這種變化很簡單:

preg_replace('/[^<>]>/i', '', $question); 
^--   ^ ^^ 
  1. 變額日格至預浸
  2. 添加定界符(/
  3. 爲不區分大小寫的匹配(額日格i),添加i修改
+2

你需要更新正則表達式也是 - 從原始問題複製時,由於缺少代碼格式而被破壞。 – ThiefMaster 2011-12-30 13:00:39

+0

感謝您的回覆,下次嘗試並保持安全 – Garry 2011-12-30 13:14:42

1
$question = preg_replace('/<\/?[a-z][a-z0-9]*[^<>]*>/i', '', $question); 

順便說一句,你可以簡單地使用$question = strip_tags($question);來達到同樣沒有任何的正則表達式!

+0

謝謝你:) – Garry 2011-12-30 13:09:02

相關問題