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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=62110)

Ron | CSite.co.il 19-04-08 16:11

php|עזרה בביטוי רגולארי
 
שלום לכולם,
יש לי בעיה שאני לא מצליח לפתור הקשורה לביטוי רגולארי,
אז ככה אני מנסה להוציא תוכן מבין שני תגים אני מצליח להוציא את התוכן כשהתגים הם בשורה אחת ואני מעוניין שזה יוציא אותם גם אם הם לא בשורה אחת.
דוגמא:

PHP קוד:

$test '<php> dsffd </php>';
preg_match_all('/<php>(.*)<\/php>/'$test$AfterPreg);  
echo 
$AfterPreg[1][0]; 

זה עובד מצויין
אבל אם זה יהיה ככה:
PHP קוד:

$test '<php>
 dsffd 
 
 </php>'


זה לא יעבוד.
אפשרי לעשות שהביטוי הרגולארי יוציא את התוכן מבין שני התגים בכל מצב ?
אגב,אני יודע שהבעיה היא שנקודה כוללת את כל התווים חוץ מ /n וניסיתי לשלב /n בביטוי אבל לא הצלחתי:(.

תודה רבה לכולם.

ישי 19-04-08 16:22

הנקודה בביטוי רגולארי מבטאת כל תו למעט תו שורה חדשה.
אתה צריך לנסות לשלב בביטוי גם r\ או n\.

4ior 19-04-08 16:34

תעשה nl2br לtest

Ron | CSite.co.il 19-04-08 16:46

ציטוט:

נכתב במקור על ידי ישי (פרסם 625695)
הנקודה בביטוי רגולארי מבטאת כל תו למעט תו שורה חדשה.
אתה צריך לנסות לשלב בביטוי גם r\ או n\.

ניסיתי,לא הלך לי בשום דרך.

ציטוט:

נכתב במקור על ידי 4ior (פרסם 625704)
תעשה nl2br לtest

אני מעוניין לקבל את התוכן בדיוק כמו שהוא במשתנ כי המשתנה הוא רק דוגמא בעיקרון אני שולף את התוכן מאתר כלשהו ואני מעוניין שזה יוציא לי בדיוק כל מה שבין התגים.

בכל מקרה תודה.

Daniel 19-04-08 17:18

כל מה שאמרתם, לא ממש קשור.
לפותח הנושא - חפש על מודיפקטורים ב-PREG. אם אני לא טועה זה U/u, חפש מידע על זה

DanielS 19-04-08 17:50

ציטוט:

נכתב במקור על ידי Ron-Pro (פרסם 625692)
שלום לכולם,
יש לי בעיה שאני לא מצליח לפתור הקשורה לביטוי רגולארי,
אז ככה אני מנסה להוציא תוכן מבין שני תגים אני מצליח להוציא את התוכן כשהתגים הם בשורה אחת ואני מעוניין שזה יוציא אותם גם אם הם לא בשורה אחת.
דוגמא:

PHP קוד:

$test '<php> dsffd </php>';
preg_match_all('/<php>(.*)<\/php>/'$test$AfterPreg);  
echo 
$AfterPreg[1][0]; 

זה עובד מצויין
אבל אם זה יהיה ככה:
PHP קוד:

$test '<php>
 dsffd 
 
 </php>'


זה לא יעבוד.
אפשרי לעשות שהביטוי הרגולארי יוציא את התוכן מבין שני התגים בכל מצב ?
אגב,אני יודע שהבעיה היא שנקודה כוללת את כל התווים חוץ מ /n וניסיתי לשלב /n בביטוי אבל לא הצלחתי:(.

תודה רבה לכולם.

PHP קוד:

$test ='
<php>
 dsffd 
</php>'
;
preg_match_all('/<php>(.*)<\/php>/smU'$test$AfterPreg);  
echo 
$AfterPreg[1][0]; 

אמור לעבוד

Daniel 19-04-08 18:12

ציטוט:

נכתב במקור על ידי DanielS (פרסם 625731)
PHP קוד:

$test ='
<php>
 dsffd 
</php>'
;
preg_match_all('/<php>(.*)<\/php>/smU'$test$AfterPreg);  
echo 
$AfterPreg[1][0]; 

אמור לעבוד

לא עדיף להסביר מאשר רק לתת את התשובה?
ו... m כאן דיי מיותר.

DanielS 19-04-08 18:21

ציטוט:

נכתב במקור על ידי MasterT (פרסם 625736)
לא עדיף להסביר מאשר רק לתת את התשובה?
ו... m כאן דיי מיותר.

בשביל מה לחזור על אותו ההסבר כמו שלך :) ?

פעם הבאה אני פשוט יעשה ציטוט בעיניין המודיפקטורים

חג שמח

Ron | CSite.co.il 19-04-08 18:31

ציטוט:

נכתב במקור על ידי DanielS (פרסם 625731)
PHP קוד:

$test ='
<php>
 dsffd 
</php>'
;
preg_match_all('/<php>(.*)<\/php>/smU'$test$AfterPreg);  
echo 
$AfterPreg[1][0]; 

אמור לעבוד

תודה רבה עובד מצויין.
אני אשמח למדריך (רצוי בעברית) בנושא ביטויים רגולרים אם יש למישהו.

DanielS 19-04-08 19:01

ציטוט:

נכתב במקור על ידי Ron-Pro (פרסם 625739)
תודה רבה עובד מצויין.
אני אשמח למדריך (רצוי בעברית) בנושא ביטויים רגולרים אם יש למישהו.

http://php.eitan.ac.il/main.php?id=00171


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

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