मैं rubular जैसी सेवा स्थापित करने की कोशिश कर रहा हूं, लेकिन PHP के साथ फ़ंक्शन के प्रीग परिवार का उपयोग कर भाषा के रूप में। यह इनपुट रेगेक्स, एक टेस्ट स्ट्रिंग लेगा, और preg_match()
चलाएगा।रेगेक्स संकलन त्रुटियों को कैप्चर करना
मैं कैसे पता लगा सकता हूं कि संकलन त्रुटि हुई है (उदाहरण: अवैध regex), और यदि ऐसा है, तो त्रुटि क्या थी? आम तौर पर ऐसा लगता है कि चेतावनी फेंक देगा:
Warning: preg_match() [function.preg-match]: Compilation failed: missing) at offset x in ****** on line y
pcre_last_error()
, यहाँ पूरी तरह से बेकार है अगर regex संकलित करने के लिए विफल रहता है के बाद से यह 0 (PREG_NO_ERROR
) वापस आ जाएगी।
एक विकल्प जो मैं विचार कर रहा हूं वह चेतावनी को पकड़ने के लिए आउटपुट बफरिंग का उपयोग करना है, लेकिन एक बेहतर तरीका होना चाहिए।
'error_get_last()' काफी अच्छा है :) – NullUserException