View Single Post
ישן 08-05-12, 16:33   # 6
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

דבר ראשון אם אתה משתמש בביטוי רגולרי אז תוסיף U אחרי הסלאש האחרון - אתה לא רוצה שאם יהיה:
abcdffgd
אז לפי מה שהוא נתן הוא יתפוס לך את abcdffgd.


דבר שני - תומר צודק ואכן עדיף להימנע משימוש בביטויים רגולרים מכיוון שהם לוקחים הרבה יותר משאבים - ולרוב יש פתרונות יצירתיים וטובים יותר.
במקרה הזה, אפשר להשתמש ב-2 פונקציות:
substr + strpos
substr כמו שכתבת היא אכן לוקחת סטרינג ולוקחת את התווים ממקום מסויים לפי האורך שקבעת.
הפונקציה strpos מוצאת את ההופעה הראשונה של טקסט בתוך טקסט ומחזירה אותה (ויש אפשרות להגביל אותה להתחיל לחפש רק מתו מסויים).

בעצם אתה אומר כאן, "תחתוך לי מהפעם הראשונה שמופיע a, עד הפעם שמופיע ה-d הראשון אחרי ה-a הזה".
PHP קוד:
$first strpos($string"a");
$str substr($string$firststrpos($string"d"$first) - $first); 

Last edited by IgalSt; 08-05-12 at 17:44.. סיבה: תיקון טעות בשם המשתנה first שנכתב בעברית
  Reply With Quote