ABA


"שאלה בPHP"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10971 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10971
יוחאי
חבר מתאריך 30.12.15
163 הודעות
   00:46   26.10.12   
אל הפורום  
  שאלה בPHP  
 
   הרבה זמן לא נגעתי בשפה ולא מצאתי מידע בגוגל

יש לי קובץ ענק עם HTML

יש לי 3 ביטויים רגולריים

1.להביא כול מה שבפורמט x
2.להביא כל מה שבפורמט y
3.להביא כל מה שבפורמט z

עכשיו אין לי שום בעיה עם הביטויים אני מביא בדיוק את מה שאני מחפש בכולם

אבל יש קטע טריקי מעט, כמות התוצאות שאני אמור להביא מכל ביטוי היא שווה זאת אומרת שאם 1 החזיר לי 15 אז ככה גם 2 ו3 צריכים להחזיר.

עכשיו החלק העוד יותר טריקי וכנראה יסביר לכם בדיוק מה אני מנסה לעשות הוא זה:

x - כותרת
y - תיאור
z - קישור

יכול להיות שיש לי כותרת ושיש לי תיאור אבל אין לי קישור, אז המערך שלי צריך להיות מסודר בצורה הבאה:


Array
(
[x] => Array
(
[0] => title1
)

[y] => Array
(
[0] => description1
)

[z] => Array
(
[0] =>
)

)

אין לי בעיה להחזיר באמצעות preg_match_all את כל התוצאות לכל ביטוי בנפרד, הבעיה היא שאם באחד מהם קיבלתי 14 תוצאות וב2 האחרים 15 אין לי שום אינדיקציה לזה שבאמת האיבר ה15 הוא זה שחסר, כי preg_match_all פשוט מחזיר לי את מה שהוא מוצא.

השאלה היא אם אפשר להעביר לו בדרך כל שהיא מערך בגודל n שהוא יידע למפות אותו תוך כדי איטרציה על התוצאות שנמצאו.

מקווה שזה ברור


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לא כ''כ הבנתי את השאלה Deuce  27.10.12 01:27 1
     דושבאג אפרט לך יותר יוחאי 27.10.12 07:40 2
         פשוט, תסתכל על בלוקים גדולים יותר... CaTz 27.10.12 11:44 3
             איך זה בדיוק משנה את העובדה שברגע שאני אחפש בתוך הבלוק יוחאי 28.10.12 01:54 4
  בדיוק נלחמתי עם אותו מקרה לפני כמה זמן dvir8 30.10.12 08:25 5
     את האמת ששכחתי להגיב פה אבל Deuce(אייל) כבר עזר לי לפתור את הבעיה, יוחאי 30.10.12 12:24 6

       
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   01:27   27.10.12   
אל הפורום  
  1. לא כ''כ הבנתי את השאלה  
בתגובה להודעה מספר 0
 
preg_match_all מחזיר לך את מספר התוצאות ואת התוצאות עצמן לתוך מערך לפי סדר הופעתן בעמוד.

בכל אופן, לא הגדרת לחלוטין מה אתה רוצה לעשות. הבנתי שלצורך העניין יש מסמך ומופיעים בו x,y ו-z - מצב תקין הוא שמספר ההופעות שלהם הוא שווה (שאת זה מן הסתם קל לבדוק). לא הבנתי מה אתה רוצה לעשות איתו והיכן הבעיה.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
יוחאי
חבר מתאריך 30.12.15
163 הודעות
   07:40   27.10.12   
אל הפורום  
  2. דושבאג אפרט לך יותר  
בתגובה להודעה מספר 1
 
   יש יחס זהה בן x y z

אם מצאתי 15 בx ו14 בy איך אני יכול לדעת לאיזה איבר בx אין y?

Preg_match_all לא מתחשב בתוצאות מבדיקה קודמת.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות
   11:44   27.10.12   
אל הפורום  
  3. פשוט, תסתכל על בלוקים גדולים יותר...  
בתגובה להודעה מספר 2
 
   כלומר הרי יש לך בלוקים של X Y Z.

אתה אומר שיכול להיות שיהיה בלוק ללא X נגיד ואז אם אתה מחפש כל אחד בנפרד, ייתכן שתקבל מערכים בגדלים שונים.

אז פשוט תפריד לכמה שלבים, תחפש את כל הבלוקים. ואז בתוך כל פלוק תחפש בנפרד.

בתקווה שהבנתי אותך.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
יוחאי
חבר מתאריך 30.12.15
163 הודעות
   01:54   28.10.12   
אל הפורום  
  4. איך זה בדיוק משנה את העובדה שברגע שאני אחפש בתוך הבלוק  
בתגובה להודעה מספר 3
 
   אני עדין אקבל את אותה כמות תוצאות שקיבלתי על הבלוק הגדול יותר?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   08:25   30.10.12   
אל הפורום  
  5. בדיוק נלחמתי עם אותו מקרה לפני כמה זמן  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 30.10.12 בשעה 08:30 בברכה, dvir8
 
אתה חייב שתהיה לך שליטה בסדר הוצאת הנתונים אחרת אתה מאבד את מי ראשון מי שני ומי אחרון.

איך בדיוק אתה מבצע את המשיכת נתונים? לתוך מערך? והוא רציף או שיש חורים?


בגדול לפי מה שהבנתי ממה שקראתי. שורש הבעיה היא במשיכה.
כי אחרי שאתה ממלא את מערך x בגלל שהוא רציף אתה מאבד "חורים" ואז אתה לא יודע באמת אם גודל המערך הוא מה שקיבלת.
בגלל זה אני שואל איך אתה מקבל את התונים ומאיפה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
יוחאי
חבר מתאריך 30.12.15
163 הודעות
   12:24   30.10.12   
אל הפורום  
  6. את האמת ששכחתי להגיב פה אבל Deuce(אייל) כבר עזר לי לפתור את הבעיה,  
בתגובה להודעה מספר 5
 
   מעדיף שהוא ייכתוב את הרעיון מאחורי הפתרון


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net