2011-06-24 35 views
1

當按鍵在輸入我把這其價值按轉換的JavaScript(正則表達式)函數到PHP

.trim().replace(/ /g, '.').replace(/[^\w .-]/gi, '').toLowerCase();

我想要做的是,當值被提交給服務器I想要做一個函數,它將取值,通過它使用這個函數的PHP版本,如果新字符串與原始字符串不同,則返回false,否則返回true。

那麼,上面這行代碼的php等值是什麼?

很明顯,我可以用strtolower(str_replace(' ', '.', trim($value)))

這意味着我只需要equivelent的.replace(/[^\w .-]/gi, '')

回答

1
preg_replace('/[^\w .-]/', '', $subject); 

備註:php中不需要全局標誌g。我不需要\ w。

作爲一個方面說明:您實際上並不需要字符類中的空間,因爲您已經刪除了空格。

1

莫非了preg_replace(模式,更換)?

http://php.net/manual/en/function.preg-replace.php

+0

將完全相同的模式工作? – Hailwood

+1

@Hailwood:如果添加分隔符,是的。谷歌搜索'php正則表達式'揭示:http://www.regular-expressions.info/php.html我建議看看它。 –

+0

它應該。這裏是PCRE的語法rerefence(在preg_函數中使用):http://www.regextester.com/pregsyntax.html – rciq

1

看起來就像你發現自己strtolowertrim。要用正則表達式替換某些東西,只需使用preg_replace(或者preg_filter,如果替換也應該是正則表達式)。

取決於你使用的php的版本,這也是ereg_replace,但你不應該依賴它,因爲它已被棄用。如果可能,請使用preg_replace/preg_filter。

相關問題