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