קיזוז

games

New member
קיזוז

יש לי משתנה סטרינג - http://www.walla.co.il/main.html הייתי רוצה "לקזז" אותו כדי שישאר רק main - להוריד 5 תווים מהסוף ו23 מההתחלה. איך עושים את זה?
 

orenphp

New member
ככה...

<? $string = "http://www.walla.co.il/main.html"; $string = substr($string, strpos($string,"il/")+3, strpos($string,".html")); echo $string; ?>​
בהצלחה
 

Mr Boggy Man

New member
יש לי גם שאלה

יש לי מסמך ארוך מאוד עם 320 שורות. המסמך רשום ככה:
TXT; TXT; TXT; LINEDOWN TXT; TXT; TXT; LINEDOWN....​
האם אפשר נגיד לקחת את שורה 56 ומאות 7 לקחת את הטקסט עד אות 19 ולשים במשתנה??
 

orenphp

New member
כן - הנה הדרך

בעיקרון תפריד כל שורה ע"י תו או תווים מסוימים נגיד *& ביחד. אח"כ תשתמש בexplode ואז תקבל מערך עם כל שורה בנפרד. תבחר את השורה 55 (המערך מתחיל מ0) אל תוך משתנה בשם $line נגיד ואז תשתמש בsubstr בשביל לקבל את הטקסט מהשורה ה7 עד ל19. $file = join(´´, file("filename.txt")); $array = explode("*&", $file); $line = $array[55]; $line = substr($line, 7, 12); // letter 7 to 19 echo $line; מקווה שזה עזר (לא בדקתי את הקוד, אבל זה העיקרון)
 

orenphp

New member
אופס, שכחתי את ה"תחילת קוד". ../images/Emo3.gif

תעתיק את זה אלייך ותראה מה עשיתי שם (זה העיקרון).
 

games

New member
תודה, אבל...

האם יש דרך פחות ספציפית? כלומר, האם אני יכול ליצור "פונקצייה" שתקזז למשל 40 תווים מההתחלה ועוד 5 מהסוף?
 

orenphp

New member
משהו גלובלי....

$text = "http://www.bla.co.il/main.html"; get_string($text, "co.il/", ".html"); function get_string(&$text, $from, $to) { $spos = strpos($text, $from) + strlen($from); $epos = strpos($text, $to); $text = substr($text, $from, $to); }​
זו דוגמא לשימוש כללי, לחתוך טקסט איפה שאתה רוצה. עשיתי את זה בלי לבדוק, אז תבדוק, זה העיקרון. בהצלחה.
 

YuvalCo

New member
לא אמורה להיות בעיה.

עושים explode.
$temp=explode ("/", $srting); //$string=var name. $fname=array_reverse($temp); //הופך את התאים במערך echo $fname[0]; //ידפיס את תא אפס במערך, שהוא שם הקובץ, כולל סיומת​
בהצלחה
 
למעלה