موصى به: ASP 3.0 Programming (32) 7.2.4 خطأ نص العميل حتى الآن ، لقد تعلمنا عن الأخطاء من ASP. ومع ذلك ، غالبًا ما يتم استخدام ASP لإنشاء صفحات ويب تحتوي على برامج نصية عميل. إذا لم يتم تعيين عنصر <script> الذي يحتوي على رمز العميل على Runat = Server
في المرة الأخيرة ، تحدثنا عن كيفية استخدام كائنات التعبير العادية لتحقيق التحقق من البيانات المختلفة في ASP. تصف المقالة الوظائف القوية لكائنات التعبير العادية. بعد ذلك ، دعنا نلقي نظرة على وظائف أخرى لكائنات التعبير العادية. عندما نتصفح الإنترنت ، وخاصة عند تصفح المنتديات المختلفة ، فإننا نرى غالبًا رمز UBB. ما هو رمز UBB؟ Code UBB هو متغير من HTML ، علامة خاصة تستخدمها لوحة النشرة النهائية (برنامج BBS في الخارج ، والعديد من الأماكن في الصين تستخدم هذا البرنامج). لتجنب هجمات المستخدمين غير المقصودة أو المتعمدة على المنتدى بواسطة رمز HTML ، تمنع العديد من المنتديات بشكل أساسي رمز HTML. ومع ذلك ، من أجل جعل المنتدى أكثر ملونة ، سيفتح المنتدى بعض علامات العلامات المخصصة وفقًا لذلك ، على غرار العلامات في HTML ، مثل [url] ، [/url] ، [Red] ، [/Red]. وبهذه الطريقة ، يمكن توفير بعض الوظائف المكافئة لرمز HTML ، ويمكن تجنب المنتدى من الهجمات الخبيثة. تُعرف هذه العلامات المخصصة عادةً برمز UBB. في الوقت الحاضر ، تدعم جميع المنتديات العصرية رمز UBB ، مثل Network Network Network Dynamic Technology Code بشكل جيد للغاية. الآن دعنا نستخدم كائنات التعبير العادية لتنفيذ رمز UBB الملون الخاص بنا.
بادئ ذي بدء ، يجب أن يكون لدى جانب الخادم الخاص بك (IIS أو PWS) بيئة دعم VBSCript5.0 ، مما يعني عمومًا أنه يمكنك بالفعل دعم كائنات التعبير العادية بعد تثبيت IE5.x.
فيما يتعلق بالأساليب الشائعة وطرق استخدام السمة لكائنات التعبير العادية ، قمت بالفعل بتقديم في هذه المقالة حول استخدام كائنات التعبير العادية لتنفيذ التحقق من البيانات في ASP. يمكنك الرجوع إلى هذه المقالة. هنا ، سأقدم بشكل أساسي طريقة كائن التعبير العادية الرئيسية التي تنفذ رمز UBB: طريقة استبدال ().
بناء جملة طريقة الاستبدال كما يلي:
بناء جملة طريقة الاستبدال كما يلي:
يصف
استبدال النص الموجود في البحث التعبير العادي.
قواعد
Object.replace (String1 ، String2)
يتضمن بناء جملة طريقة استبدال الأجزاء التالية:
وصف جزئي
الهدف المطلوب. دائما اسم كائن regexp.
String1 مطلوب. String1 هي السلسلة التي سيتم تنفيذ استبدال النص إليها.
String2 مطلوب. String2 هي سلسلة نص بديلة.
يوضح
يتم تعيين النمط الفعلي للنص الذي تم استبداله من خلال خاصية نمط كائن regexp.
تقوم طريقة استبدال بإرجاع نسخة من String1 ، حيث تم استبدال نص regexp.pattern بـ String2. إذا لم يتم العثور على نص مطابق ، فسيتم إرجاع نسخة من String1 الأصلي.
بعد ذلك ، نريد تحديد نوع رمز UBB الذي نريد تنفيذه في النهاية؟ وظائف رمز UBB التي نريد تنفيذها هذه المرة هي كما يلي:
ارتباط فرط عنوان URL
أضف ارتباطًا تشعبيًا إلى رسالتك ، فقط أدخلها بالطريقة التالية (رمز UBB جريء).
[url] www.test.net [/url]
من خلال إدخاله على النحو الوارد أعلاه ، سيقوم رمز UBB تلقائيًا بربط عنوان URL وتأكد من فتح الرابط عندما ينقر المستخدم على نافذة جديدة.
روابط البريد الإلكتروني
أضف ارتباطًا تشعبيًا عبر البريد الإلكتروني إلى رسالتك ، فقط اتبع المثال التالي لإدراجها (رمز UBB جريء)
[البريد الإلكتروني] [email protected] [/البريد الإلكتروني]
أدخل على النحو الوارد أعلاه ، سوف يرتبط رمز UBB تلقائيًا بالبريد الإلكتروني.
أضف إلى الصورة
أضف صورًا إلى رسالتك ، فقط اتبع المثال التالي لإدراجها (رمز UBB جريء).
[IMG] http://www.test.net/test.gif [/img]
في المثال أعلاه ، سيسمح رمز UBB تلقائيًا بعرض الصورة في رسالتك.
علامات أخرى
هناك أيضًا هذه العلامات ، U Small H1 H3 H3 H5 H6 Strike Blink SUP DEL PRE BIG ، وظائف هذه العلامات تعادل وظائف HTML
[H1] هذا عنوان [/H1]
[/علامة] أمر لا بد منه
دع فقرة النص يتم عرضها باللون
هذه علامة خاصة
[#FF0000] كلمة حمراء [/#]
#كود RGB السداسي عشري من اللون متبوعًا ، مثل الأحمر هو FF0000 ، والأخضر هو 00FF00 ، والأزرق هو 0000ff
أما بالنسبة لطرق التنفيذ لمختلف رموز UBB الأخرى المشابهة لتلك المذكورة أعلاه ، فسنستخدم تطبيق رمز UBB أعلاه كمثال لشرح الوظائف القوية لكائنات التعبير العادية.
نستخدم بشكل أساسي طريقة استبدال () والقالب المقابل لتنفيذ وظيفة رمز UBB بسهولة. نحن هنا نستخدم وظيفتين من قبل أنفسنا ، أول وظيفة يتم استبدالها. تتمثل الوظيفة التي تنفذها هذه الوظيفة بشكل أساسي في تغليف كائن التعبير العادي وتوفير ثلاث معلمات إدخال:
جالن
هذه المعلمة تمرر قالبًا مطابقًا لرمز UBB
شارع
تمر هذه المعلمة سلسلة ستتم معالجتها في وضع UBB ، مثل محتوى المقالة.
replstr
تمر هذه المعلمة لغة رمز HTML التي تطابقها.
معلمة الخروج من وظيفة replacetest هي سلسلة استبدالها بمطابقة القالب.
رمز دالة replacetest كما يلي:
وظيفة replaceTest (Gatrn ، STR ، REPLSTR)
Dim regex ، Str1 'يخلق متغير.
str1 = trim (str)
تعيين regex = جديد regexp 'إنشاء تعبير منتظم.
regex.pattern = وضع مجموعة.
regex.ignorecase = true 'تعيين ما إذا كان حساس الحالة.
replaceTest = regex.replace (Str1 ، REPLSTR) "كبديل.
تعيين regex = لا شيء "تدمير كائن التعبير العادي
وظيفة نهاية
الوظيفة الثانية التي نريد كتابتها هي: وظيفة UBB (). تتمثل الوظيفة التي تنفذها هذه الوظيفة في تحويل جزء من النص إلى وظائف UBB. هذه الوظيفة لها معلمة دخول واحدة فقط:
شارع
هذه المعلمة تمرر السلسلة المراد معالجتها.
معلمة التصدير لوظيفة UBB هي سلسلة معالجتها بواسطة رمز UBB.
رمز وظيفة UBB كما يلي: (هناك معلومات تعليق مفصلة في البرنامج)
وظيفة UBB (STR)
Dim I ، Temp 'Denare Variable
أنا = 1
درجة الحرارة =
افعل أثناء instr (i ، str ، [/]> = 1 'إذا لم يتم الوصول إلى نهاية السلسلة
إذا تقطع (درجة الحرارة) = ثم
temp = replacetest ((/[i]) (/s) (/[/i]) ، str ، <i> $ 2 </i>) 'قالب المستند مطابقة واستبدال رمز UBB
آخر
temp = replacetest ((/[i]) (/s) (/[/i]) ، temp ، <i> $ 2 </i>) 'قالب المستند مطابقة واستبدال رمز UBB
إنهاء إذا
temp = replaceTest ((/[b]) (/s) (/[/b]) ، temp ، <b> $ 2 </b>) 'قارن مطابقة القالب واستبدال رمز UBB
temp = replaceTest ((/[big]) (/s) (/[/big]) ، temp ، <big> $ 2 </big>) 'قالب المستند مطابقة واستبدال رمز UBB
temp = replacetest ((/[[strike]) (/s) (/[/strike]) ، temp ، <strike> $ 2 </strike>) 'قم بمطابقة القالب واستبدال رمز UBB
temp = replacetest ((/[[sub]) (/s) (/[/sub]) ، temp ، <sub> $ 2 </sub>) 'تنفيذ مطابقة القالب واستبدال رمز UBB
temp = replacetest ((/[[sup]) (/s) (/[/sup]) ، temp ، <sup> $ 2 </sup>)
temp = replacetest ((/[[pre]) (/s) (/[/pre]) ، temp ، <pre> $ 2 </pre>)
temp = replacetest ((/[u]) (/s) (/[/u]) ، temp ، <u> $ 2 </u>)
temp = replacetest ((/[small]) (/s) (/[/small]) ، temp ، <small> $ 2 </small>)
temp = replacetest ((/[[H1]) (/s) (/[/h1]) ، temp ، <h1> $ 2 </h1>)
temp = replacetest ((/[[H2]) (/s) (/[/h2]) ، temp ، <h2> $ 2 </h2>)
temp = replacetest ((/[[H3]) (/s) (/[/h3]) ، temp ، <h3> $ 2 </h3>)
temp = replacetest ((/[[H4]) (/s) (/[/h4]) ، temp ، <h4> $ 2 </h4>)
temp = replacetest ((/[[H5]) (/s) (/[/h5]) ، temp ، <h5> $ 2 </h5>)
temp = replacetest ((/[[H6]) (/s) (/[/h6]) ، temp ، <h6> $ 2 </h6>)
temp = replacetest ((/[[Red]) (/s) (/[/red]) ، temp ، <font color = red> $ 2 </font>)
هذا يمكن أن يضيف قالب تنفيذ رمز UBB جديد
temp = replaceTest ((/[البريد الإلكتروني]) (/s) (/[/البريد الإلكتروني]) ، temp ، <a href = mailto: $ 2 target = _top> $ 2 </a>)
temp = replacetest ((/[[img]) (/s) (/[/img]) ، temp ، <img src = $ 2>)
temp = replacetest ((/[url]) (/s) (/[/url]) ، temp ، <a href = $ 2 target = _top> $ 2 </a>)
temp = replacetest ((/[[#(/s)]) (/s)
أنا = أنا 1
حلقة
إذا تقطع (درجة الحرارة) <> ثم
UBB = temp 'يمرر السلسلة التي تم ترشيحها بواسطة رمز UBB
آخر
ubb = str 'تمرير السلسلة التي تمت تصفيتها بواسطة رمز UBB
إنهاء إذا
وظيفة نهاية
في مدونة الوظيفة UBB ، يمكننا أن نرى دولارًا واحدًا و 2 دولارات و 3 دولارات ، وما إلى ذلك. تمامًا مثل بعض وحدات الماكرو ، يمكننا استخدامها لاستبدال السلاسل المطابقة دون الحاجة إلى استخدام البرنامج لتذكر موضع السلسلة المطابقة. من خلال هاتين المكالمتين البسيطين للوظائف ، قمنا بتنفيذ وظيفة رمز UBB. ماذا عن ذلك ، الأمر بسيط للغاية.
وبهذه الطريقة ، نحتاج فقط إلى استدعاء وظيفة UBB عند عرض المقالة ، ومعالجة محتوى المقالة ، ثم عرضها على المتصفح ، وتحقيق وظيفة رمز UBB للمنتدى. بالإضافة إلى ذلك ، يمكنك بسهولة إضافة قالب استبدال رمز UBB المطلوب في وظيفة UBB ، بحيث يمكنك توسيع وظائف رمز UBB باستمرار.
(يتم تشغيل جميع البرامج أعلاه وتمريرها في الإصدار الإنجليزي Winnt4.0 SP5 ، IIS4.0 ، IE5.x)
مشاركة: Controls ASP 6 رموز كلاسيكية للغاية لقاعدة بيانات XML رقم 1-إنشاء بيانات قاعدة بيانات XML.xml <؟