0
我想驗證一個字符串包含正則表達式,並且它是一個有效的PHP。通常情況下,我會以下列方式驗證正則表達式而不拋出警告
<?php
@preg_match($string, '') !== false;
這將生成一個警告,因爲我們使用@
壓制它這是很好的做到這一點。然而,當我們使用set_error_handler
來捕捉錯誤時會出現問題,因爲處理程序仍然會被觸發,儘管存在@
抑制器。
我想做一些類似於提供的代碼,而不會引發警告。
拋出的警告是:
preg_match(): Delimiter must not be alphanumeric or backslash
你說「要發現錯誤」,你的意思是例外?如果是這樣,只需將'preg_match'調用包裝在try/catch塊中。 – 2013-02-21 20:53:09
preg_match不會引發異常,它只會產生PHP錯誤。 – Nathaniel 2013-02-21 20:54:02