|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
חבר וותיק
|
שאלה | איך לעשות את זה ללא תוספות לשרת..
היי,
נתקלתי במשהו שקשה לבצע, אם אני לא אמצא פתרון פשוט יותר, אני יתחיל לכתוב פונקצייה של שעות (ולשבור תראש ><) בכל מקרה, הבעיה היא כזו: יש לי קוד XML כזה: HTML קוד:
<some do="color"> <some do="font"> <some do="size"> Hey </some> </some> </some> HTML קוד:
<some do="color"> [font] <some do="size"> Hey </some> [/font] </some> PHP קוד:
קוד:
(.+?) דרך אגב, במקרה הזה יש שימוש ב3 תגים של some אבל לפעמים יש יותר .. (או פחות) פתרונות ? |
![]() |
![]() |
# 2 |
מנהל פורום, עסק רשום
|
כמו שכתבתי לך בפרטי, ניתן לנסות לעבוד אולי עם group-ים של regex ולפי האינדקס של ההחלפה הראשונה, לבצע גם את ההחלפה השניה.
כיוון אחר אולי, זה לחלק את כל הסטרינג למערך של תגיות פותחות (כל אחד מה-some יהיו תא במערך) ומערך של תגיות some סוגרות. לבצע את החיפוש על המערך הזה, ולפי האינדקס שבו מצאת, להחליף גם במערך של התגיות הסוגרות. |
![]() |
![]() |
# 3 |
חבר וותיק
|
למה הכוונה בgroup שם REGEX ?
בכל מקרה, חשבתי אולי לצור פונקצייה שהיא דיי מקבילה לpreg_replace אך היא סופרת בתוכה את התגיות הפתחות ומדגלת לפי התוצאה שקיבלה, השאלה היא, האם יש משהו יותר שימושי? תודה ![]() |
![]() |
![]() |
# 4 |
חבר בקהילה
|
תנסה אולי לבדוק שימוש ב-SimpleXML.
|
![]() |
![]() |
# 5 |
חבר מתקדם
|
יש שם מצב לקוד לא תקין? כלומר, דברים שלא סגורים נכון? למרות שאתה יכול לעשות גם לזה בדיקה
אבל לדעתי הדרך של יגאל די נוחה במקרה הזה, אתה בונה מערך (preg_match_all) מהתגיות פתיחה, בונה עוד מערך מהתגיות סגירה (פה אתה יכול לבדוק אם הכמות איברים זהה ולדעת גם אם יש דברים לא סגורים) ואז אתה מחפש את <some do="font">, ברגע שנתקלת בו אתה מחליף באותו אינדקס במערך של התגיות סגירה את התגית ל-[/font] ויוצא מהלולאה ד"א - כדאי לך לשאול גם ב-StackOverflow הגיוני שיש ביטוי רגולארי שיתאים לזה יותר
__________________
הורדת שירים מיוטיוב, הורדת שירים, שירים להורדה, שירים להורדה מיוטיוב, העלאת תמונות |
![]() |
![]() |
# 6 | |
חבר וותיק
|
ציטוט:
בכל מקרה, הדוגמה שהבאתי כאן היא דוגמה פשוטה לbbcode parser הקטע שהבאתי עם התגיות הוא שלפעמים יש שימוש ב span ל font-family , color או font-size וזה יוצר בעיות שזה מחליף בצורה שזה מחליף בכל מקרה, אני אלך על הפונקצייה שרשמתי, אני אנסה לבנות אותה תודה לכולם ![]() ![]() |
|
![]() |
![]() |
# 7 | |
מנהל פורום, עסק רשום
|
הכוונה היא לזה:
http://www.regular-expressions.info/brackets.html כשאתה עוטף כל match בסוגרים עגולים, ואח"כ אתה יכול לעשות Backreferences. ציטוט:
ובאופן כללי, אם אתה מפרסר משהו ארוך, הרבה פעמים regex לכל הסטרינג לא מספיק טוב לך. תצטרך לחלק אותו לתתי-סטרינגים ולפרסר כל שורה בנפרד. כלומר, אני מנסה לרמוז (בעדינות ![]() אם אתה מוצא פתרון אלגנטי כלשהו, אשמח אם תביא אותו לפה כדי שנלמד ![]() |
|
![]() |
![]() |
# 8 | |
חבר וותיק
|
ציטוט:
בניתי פונקציה מאוד נוחה, שבעצם עושה: אתה נותן לה בפרמטרים את ההתחלה של הביטוי, והסוף והיא מחפש את ההתחלה, ואת הסוף לאחר ההתחלה (אם קיימים תגי פתיחה דומים להתחלה אז היא מדלגת לפי הכמות שלהם) ומחליפה האמצע ![]() הפונקציה לא על המחשב הזה .. בכל מקרה, תודה לכולם.. |
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|