הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה / מ- ועד-[PHP] (https://hosts.co.il/forums/showthread.php?t=97158)

DoLet 08-05-12 14:14

שאלה / מ- ועד-[PHP]
 
שלום לכולם,
הייתי שמח לדעת האם יש פונקציה ב-PHP שנותן לבחור מידע מתוך דף לפי מ.. ועד..

לדוגמא:

קוד:


abcdef

ולהגיד לו תציג לי את הנתונים מ-a ועד-d?

תודה מראש,
DoLet.

Haimz 08-05-12 14:41

אתה יכול להשתמש בREGEX :

PHP קוד:

<?php

    $string 
"abcdefg";
    
    
$mystring preg_match("/a(.+)d/"$string$str);
    
    echo 
$str// return 'bc'

?>


Tomer 08-05-12 14:41

substr

DoLet 08-05-12 15:08

ציטוט:

נכתב במקור על ידי HHaim (פרסם 843728)
אתה יכול להשתמש בREGEX :

PHP קוד:

<?php

    $string 
"abcdefg";
    
    
$mystring preg_match("/a(.+)d/"$string$str);
    
    echo 
$str// return 'bc'

?>


תודה רבה אני אבדוק את זה. :)

ציטוט:

נכתב במקור על ידי Tomer (פרסם 843729)

הפונקציה substr פחות עוזרת לי במקרה הזה כי אני יוצא מנקודת הנחה שאני לא יודע איזה מספר נמצא האות שאני מחפש בקובץ.

IgalSt 08-05-12 16:30

ציטוט:

נכתב במקור על ידי DoLet (פרסם 843731)
הפונקציה substr פחות עוזרת לי במקרה הזה כי אני יוצא מנקודת הנחה שאני לא יודע איזה מספר נמצא האות שאני מחפש בקובץ.

השתמש בזה בשילוב עם משהו כמו strpos

Daniel 08-05-12 16:33

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


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

בעצם אתה אומר כאן, "תחתוך לי מהפעם הראשונה שמופיע a, עד הפעם שמופיע ה-d הראשון אחרי ה-a הזה".
PHP קוד:

$first strpos($string"a");
$str substr($string$firststrpos($string"d"$first) - $first); 



כל הזמנים הם GMT +2. הזמן כעת הוא 01:00.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ