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

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

barak_102 10-02-10 18:18

PHP עזרה שילוב preg_match
 
איך אני לוקח את הערכים 400 ו600 מהשורה הבאה בעזרת הפונקציה preg_match?
PHP קוד:

<?php
$text 
"width=400 height=600";
?>


Dragon-Boy 10-02-10 18:57

המטרה שלך היא לבדוק האם הצירופים 400 ו-600 קיימים, או שהמטרה שלך היא לשלוף משם את ערכי האורך והרוחב?

barak_102 10-02-10 19:26

המטרה שלי היא לשלוף את הערכים של האורך והרוחב.

syn 10-02-10 21:21

אני הייתי עושה explode לביטוי, ואז פשוט עושה str_replace ל width ול-height ואז יש לי בתוך arr[0] את הרוחב וב- arr[1] את הגובה.

Daniel 10-02-10 22:23

syn, דרך מאוד בזבזנית במשאבים... אם היה צריך להשיג את הערכים ללא ביטויים רגולרים, אז היה הצורך להשתמש ב-strpos (לא ב-explode ולא ב-str_replace. שבכל מקרה - אם עושים explode - אז זה ל-" height" מה שמצמצם החלפה אחת - אבל לא עושים שום החלפה בזה) וב-substr.

התשובה כביטוי רגולרי היא:
preg_match("/width=([0-9]+) height=([0-9]+)/", $text, $match);


אבל שוב פעם - הרבה יותר יעיל לעשות זאת עם strpos ועם substr

barak_102 11-02-10 00:01

תודה רבה MasterT נורא עזרת לי =]
מה שכן לא הבנתי עדין איך משתמשים במחרוזות.. אני עדין מתבלבל עם איפה להוסיף כל דבר.. זה נורא מורכב. נגיד שבהתחלה מוסיפים סלאש או דברים כאלה...


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

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