הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 04-01-09, 03:44   # 1
HOLD
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 623

HOLD לא מחובר  

עזרה | regex

שלום,

יש לי את הקוד הבא:
קוד:
$line="fforumdisplay.php?e=e2a32c6df5d63dee1f4eb1e0fa0e536e&f=307";
$newline = preg_replace("/^e=*[a-z]|[0-9]$&/","",$line);
אני רוצה לקבל ב-$newline את הערך:
קוד:
$newline = "forumdisplay.php?f=307";
כלומר למחוק את כל מה שבין "=e" לבין "&".

השורה:
קוד:
$newline = preg_replace("/^e=*[a-z]|[0-9]$&/","",$line);
לא עובדת.

אשמח אם תגידו לי מה אני עושה לא נכון.

תודה.

Last edited by HOLD; 04-01-09 at 03:58..
  Reply With Quote
ישן 04-01-09, 09:55   # 2
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

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

PHP קוד:

$line
="forumdisplay.php?e=e2a32c6df5d63dee1f4eb1e0fa0e536e&f=307";
$newline preg_match("/forumdisplay.php\?e\=(.*)&f=([0-9]+)/"$line$matches); // output: forumdisplay.php?f=307

print_r($matches);

echo 
"forumdisplay.php?f=".$matches[2]; 
  Reply With Quote
ישן 04-01-09, 13:19   # 3
DvirCohen
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 151

DvirCohen לא מחובר  

דבר ראשון, בוא נתחיל ממה לא עשית נכון בREGEX
PHP קוד:
$newline preg_replace("/^e=*[a-z]|[0-9]$&/","",$line); 
דבר ראשון, שים לב שקבעת שהמחרוזת תתחיל בe=..מה שלא נכון, כי המחרוזת מתחילה כקישור.
דבר שני, עשית [a-z]|[0-9], זה טופס רק תו אחד, ולא רצף של תווים.
דבר שלישי, עשית $ ולאחריה &. מה שאומר שהמחרוזת אמורה להיגמר בתו/ספרה.

אם אתה רוצה לעשות את זה עם REGEX, זה יהיה הביטוי הנכון:
PHP קוד:
$newline preg_replace("/e=(?:[a-zA-Z0-9]+)&/"""$line); 
אתה יכול לעשות את זה בעוד דרך, ללא REGEX, על ידי פונקציות
PHP קוד:
$line "forumdisplay.php?e=e2a32c6df5d63dee1f4eb1e0fa0e536e&f=307";
$url explode("?"$line);
$url2 explode("&"$url[1]);
$newline $url[0] . "?" $url2[1]; 
  Reply With Quote
ישן 04-01-09, 13:52   # 4
HOLD
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 623

HOLD לא מחובר  

vadimg88 תודה על העזרה, אבל זה לא מה שחיפשתי.

תודה DvirCohen , זה עובד כמו שצריך !!
  Reply With Quote
ישן 04-01-09, 23:58   # 5
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

PHP קוד:
<?php preg_replace("/(.*)(forumdisplay\.php\?)(.*)(f=[0-9]+)(.*)/""\\2\\4"$abcd);?>
תואם למקרים הבאים:
fdsfdsforumsdisplay.php?nitsan=itsik&itzik=nitsan& f=123546&tfg=gfsd&fds=--34
forumsdisplay.php?nitsan=itsik&itzik=nitsan&f=1235 4600
forumsdisplay.php?f=12354600
forumsdisplay.php?----2444&f=00152

וכד'
לא בדקתי תרגקס תרגיש חופשי לבדוק
__________________
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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