मुझे कुछ PHP पृष्ठों पर मनमानी जटिलता के उपयोगकर्ता द्वारा परिभाषित तार्किक अभिव्यक्तियों का मूल्यांकन करने की आवश्यकता है।PHP में गतिशील तार्किक अभिव्यक्ति पार्सिंग/मूल्यांकन?
- स्थानापन्न रूप क्षेत्रों मूल्यों के लिए "varibles";: प्राथमिक चर यह मानते हुए कि प्रपत्र फ़ील्ड्स रहे हैं, यह करने की आवश्यकता होगी
- संभाल तुलना ऑपरेटरों, न्यूनतम ==, <, < =,> = और> द्वारा प्रतीक, नाम (उदाहरण के लिए eq, लेफ्टिनेंट, ले, जीई, जीटी क्रमशः);
- बूलियन ऑपरेटरों (!, जैसे & &, || और ^^ क्रमशः) या और संभवतः नाम, प्रतीक से XOR संभाल नहीं, और,;
- स्ट्रिंग्स और संख्याओं के लिए शाब्दिक मानों को संभाल लें;
- प्लेन ( == '' या उपनाम == '' उदाहरण के लिए "firstname) नहीं एक्सएमएल, और
- यथोचित performant हो
साल मैं बीते में पुनरावर्ती डिसेंट पारसर्स लिखा है। जो एक अभिव्यक्ति वृक्ष बना सकता है और इस तरह की चीज कर सकता है, लेकिन यह एक ऐसा काम नहीं है जिसे मैं PHP में जोड़ रहा हूं, इसलिए मुझे आशा है कि वहां कुछ चीजें हैं जो कम से कम मुझे वहां से कुछ रास्ते मिल जाएंगी।
सुझाव
मैं पूछ सकता हूँ, आप सरल eval का उपयोग किए बिना पार्स करने अभिव्यक्ति के लिए एक समारोह बनाने के लिए प्रबंधन कैसे किया? – buggedcom