! preg_match("/^[a-z0-9:_\/-]+$/i", $str)


kodunu


! preg_match("/^[a-z0-9:_\-|]+$/i", $str)


şeklinde değiştirip deneyebilir misiniz?

http://stackoverflow.com/a/19423444

Ufak bir hatırlatma; core dosyaların değiştirilmesi hiçbir framework ya da script için önerilmeyen bir şey. Güncelleme hatalarını önlemek için.