يعرف الأصدقاء الذين استخدموا PHP أن استخدام المتغيرات في PHP مرن ومريح، خاصة أن تحويل قيمة اسم المتغير في السلاسل يمكن تحقيقه بسهولة، مما يجعل كود PHP بأكمله أكثر إيجازًا وجمالًا. على سبيل المثال، عبارة SQL لتحديث قاعدة البيانات تحتاج فقط إلى كتابتها على النحو التالي:
رمز البرنامج
"تحديث كلمة المرور التي قام المستخدمون بتعيينها='$password'، المجموعة=$group، الاسم='$username' حيث الحساب='$account'"
، $password، $group، $username، $account سيتم استبدالها بقيم المتغير الفعلي لتحقيق نفس الوظيفة في ASP، يجب كتابتها على النحو التالي:
رمز البرنامج
"تحديث المستخدمين الذين قاموا بتعيين كلمة المرور ='" وكلمة المرور & "',group=" & group & ",name ='" & اسم المستخدم & "' حيث الحساب ='" & الحساب & "'"
، يبدو طويلاً وقبيحًا. إذا كانت هذه لغة إدراج وكان هناك الكثير من الحقول المدرجة، فسيكون التحقق من المراسلات بين الحقول والقيم عملية مؤلمة.
الآن دعونا نرى كيفية تنفيذ تحويل مماثل لقيمة الاسم في ASP.
الفكرة
هي أنه يجب أولاً أن تكون هناك طريقة لتمييز أسماء المتغيرات التي تحتاج إلى استبدال القيم الفعلية عن النص العادي، ثم استبدال جميع أسماء المتغيرات التي تم العثور عليها بالقيم الفعلية التي تمثلها.
يمكن العثور على النقطة الأولى من خلال التعبيرات العادية. هنا لا نستخدم تمثيل متغير PHP، ولكننا نستخدم الرقم الكبير {} كحرف حد لاسم المتغير. مجموعة}.
النقطة الثانية هي مفتاح تحويل اسم المتغير إلى القيمة. يتم الحصول على قيمة المتغير من خلال اسم المتغير. بالنظر إلى معلومات ASP، لم نجد طريقة تنفيذ مباشرة، ولكن هناك وظيفة تنفيذ لفتت انتباهنا من وصف المعلومات، نعلم أن التنفيذ يمكنه تنفيذ السلسلة الصالحة الواردة كمزامنة لتنفيذ التعليمات البرمجية ، نحتاج فقط إلى كتابة دالة صغيرة لتحقيق تعليمات هدفنا. الكود الأساسي هو:
كود البرنامج
الدالة GetVar(var_name)
تنفيذ ("وظيفة get_value (): get_value = " & var_name & ": وظيفة النهاية")
getvar=get_value()
وظيفة النهاية
قم بتنفيذ
الكود الكامل:
رمزالبرنامج
'DESIGN BY: Peng Guohui
"الموقع: http://kacarton.yeah.net/
"المدونة: http://blog.csdn.net/nhconch."
'البريد الإلكتروني: [email protected]
' المقالة أصلية للمؤلف. يرجى الاتصال بي قبل إعادة الطباعة. يرجى الإشارة إلى مصدر المقالة والاحتفاظ بمعلومات المؤلف. شكرًا لك على دعمك.
'======================================================================== = ============
الدالة GetVar(var_name)
تنفيذ ("وظيفة get_value (): get_value = " & var_name & ": وظيفة النهاية")
getvar=get_value()
وظيفة النهاية
وظيفة Txt2Value (شارع، مستوى)
التعبير العادي الخافت، التطابقات، النتيجة
قم بتعيين regEx = RegExp الجديد
حدد مستوى الحالة
الحالة 0 regEx.Pattern = "{([w()]+)}" 'اسم المتغير صالح
الحالة 1 regEx.Pattern = "{([w+-*/\<>=()]+)}" 'أسماء المتغيرات وعوامل التشغيل صالحة
'case 2 regEx.Pattern = "{([ws()]+)}" 'جميع الأحرف صالحة باستثناء أحرف السطر الجديد
حالة الخروج وظيفة أخرى
حدد النهاية
'regEx.Pattern = "{(w+)}"
regEx.IgnoreCase = صحيح
regEx.Global = صحيح
تعيين التطابقات = regEx.Execute(str)
النتيجة = شارع
'response.write Matches.Count
لكل مباراة في المباريات
النتيجة = استبدال (النتيجة، Match.Value، GetVar(Match.SubMatches(0)))
التالي
تعيين التطابقات = لا شيء
تعيين regEx = لا شيء
Txt2Value = النتيجة
وظيفة النهاية
وظيفة Var2Value (var_name)
Var2Value = Txt2Value(var_name, 0)
وظيفة النهاية
طريقة الاتصال:
رمز البرنامج
Var2Value("تحديث المستخدمين الذين قاموا بتعيين كلمة المرور='{password}', group={group}, name='{username}' حيث الحساب='{account}'"
يستدعي Var2Value Txt2Value، ويبحث Txt2Value عن جميع أسماء المتغيرات ويستدعي GetVar في الواقع، استدعاء Txt2Value(str,1) مباشرة يسمح أيضًا بأربع عمليات حسابية على قيمة السلسلة.