ניתוח :: רגיל

תבנית ניתוח מנוע
הורד עכשיו

ניתוח :: רגיל דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Andrew Alexandre Novikov
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~andrewn/

ניתוח :: רגיל תגים


ניתוח :: רגיל תיאור

תבנית ניתוח מנוע ניתוח :: רגיל הוא בכיתה פרל עבור ניתוח טקסט מבוסס תבניות. זה נועד להשתמש עם HTML, XHTML, XML ושפות סימון אחרות, אבל בדרך כלל ניתן להשתמש עם קבצי טקסט שרירותי כמו גם מבנים גדולים בתבניות הם תגים בלוקים. לשניהם יש שמות. סמלים תקפים לשימוש בשמות בלוק הם ספרות, אותיות לטיניות, מדגישים, מקפים, נקודות, פסיק, קולונים, פסיקים, סוגריים, כוכביות, אמפרס, חתכים וסמלי קרט. סימן קריאה ('!') יש משמעות מיוחדת וידונו מאוחר יותר. כל השמות הם sensity.tag היא מחרוזת בצורת %% tagname %%%. ייתכן שיהיו מספר תגים עם אותו שם וכל מספר של תגי תגים שונים בתבנית.בלוק הוא בנייה שמתחילה עם שורה {{blocknameand מסתיים עם סמלים} אלמנט לחסום חייב להיות על קו נפרד. ייתכן שאין סמלים אחרים מתחילת השורה אל רכיב הבלוק. עם זאת, ייתכן שיהיה לך טקסט אחר (למעט בלוק-התחלה) לאחר סוף בלוק באותו קו (כמו שיש סמלים אלה בשורה הבאה). סמלים בין לחסום להתחיל לחסום טופס לחסום הגוף. בלוקים שימושיים במיוחד עבור אלמנטים איטרטיביים כמו שורות טבלה. בלוקים יכולים להיות מקוננים ותגים מותרים בתוך הגוף לחסום.יש גם צורה מיוחדת של שמות תגים. נניח שיש לך בלוק בשם MyBlock. לאחר מכן בתבנית אתה יכול להשתמש בתגים בשם %%! MyBlock %% והם יהיו מוחלפים לערך הנוכחי של myblock.You יכול גם להסתיר בלוק מהמקום בתבנית שבו הוא מוגדר על ידי הכנת! לשם זה. עדיין תוכל להשתמש בלוק זה עם שמות תג המתאימים (עם '!'). ראה "דוגמאות" קטע. יש הבדל בין בלוק מקור לבין תוצאות התוצאה (כפי המשמשים בשמות שיטות מסוימים). בלוק המקור הוא נתח טקסט בדיוק כפי שהוא מופיע בתבנית המקור, אלא אם שינית אותו באמצעות שיטות "Block_SRC", "Unshift_block_src", "push_block_src". בלוק התוצאה הוא נתח טקסט המופיע בתפוקה מושפע פונקציה "לנתח" על בלוק זה או יכול להיות שונה עם "Block_res", "Unshift_block_res" שיטות גם. ראה תיאור של שיטות אלה במקום אחר במסמך זה. כדי להמחיש את ההבדל: # בלוק המקור בשם 'B' בתבנית: # {{b # - %% y %% - #}} $ Val = $ t-> Block_SRC ('ב'); # $ Val EQ '- %% y %% -' $ val = $ t-> block_res ('ב'); # $ Val == Undef # עכשיו בואו לשנות בלוק מקור $ T-> Push_Block_SRC ('ב', 'Z |'); # - %% y %% - z | $ t-> unshift_block_src ('ב', 'x'); # X - %% y %% - z | $ Val = $ t-> Block_SRC ('ב'); # $ Val 'X - %% y %% - Z |' $ Val = $ T-> Block_res ('ב'); # $ Val == Undef # עכשיו בואו לשנות את התוצאה בלוק $ T-> לנתח ('ב', '1); # בלוק תוצאה: X-1-Z | $ T-> ניתוח ('ב', '2); # בלוק תוצאה: X-1-Z | X-2-Z | $ T-> Unshift_block_res ('ב', '|); # בלוק תוצאה: X-1-Z | X-2-Z | $ Val = $ t-> Block_SRC ('ב'); # $ Val 'X - %% y %% - Z |' $ Val = $ T-> Block_res ('ב'); # $ Val EQ 'x-1-Z | X-2-Z |' Synopsis # בקוד משתמש השתמש בנתח :: רגיל; שלי $ t = חדש לנתח :: רגיל ('/ path / to / filename.tmpl'); שלי $ t = חדש לנתח :: רגיל ('/ path / to / filename.tmpl', 1, 2); $ t-> set_tag ('mytag', 'ערך'); # %% mytag %% להגדיר ערך $ T-> Push_tag ('mytag', '-pushed'); # %% MyTAG %% להגדיר ערך דחף $ T-> Set_tag ({'mytag' => 'ערך'}); # %% mytag %% להגדיר ערך $ T-> Unshift_tag ('mytag', 'Unshifted ...); # %% MyTAG %% מוגדר ל- Unshifted-value # הגדרת Callback עבור תגים כגון URL %%: http: //host.com/doc.html%% $ t-> Callback ('כתובת אתר', תת {Return swepackage: : Geturl ($ _ );}); $ t-> push_block_src ('myblock', 'טקסט כדי לצרף למקור לחסום'); $ t-> unshift_block_res ('myblock', 'טקסט כלשהו כדי לתכנן את תוצאת הבלוק'); $ T-> לנתח ('myblock', {'blocktag' => 'ערך לחסום'); # לנתח לחסום $ T-> לנתח ('myblock', {'blocktag' => 'ערך בלוק נוסף'}); $ t-> לנתח; # לנתח מסמך שלם $ T-> פלט; # פלט מנותח תוצאות stdout $ t-> underse; # Reset Parsed תוצאה לדרישות תבנית מקורית: · פרל


ניתוח :: רגיל תוכנה קשורה