בעיית מחרוזת

maze82

New member
בעיית מחרוזת

שלום יש שאלה של מתחילים:

יש לי מחרוזת, למשל: abcdef-a123

ואני צריך להוסיף _t בתחילת המקום שיש "-" ולמחוק את כל התווים שקדמו לו כולל.
כלומר אני צריך להפוך אותה ל: t_a123

הבעייה שאיני יודע מה הגודל או סוג המחרוזת שקיימת לפני ה "-"

אם מישהו מכיר פונקציה שעושה זאת או דרך אחרת לפתרון אני אשמח ואודה לו מאוד.
 

bnayal

New member
תפוז העלים לי תגובה, הנה שוב:

1. מצא את המיקום של התו "-" בעזרת הפונקציה strpos.
http://il.php.net/strpos
2. תוציא את כל התוים שנמצאים אחרי המיקום של התו "-" בעזרת הפונקציה substr
http://il.php.net/manual/en/function.substr.php
3. תוסיף למחרוזת החדשה את התחילית שאתה רוצה, במקרה הזה t_.

אפשר כמובן גם עם ביטוי רגולרי, לטעמי הוא רק יסבך כאן משהו פשוט.

בהצלחה,
בניה
 

fat fish

New member
פתרון פשוט יותר :)

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

$foo = strstr('[email protected]', '@', true);
// result is: email.com


:)
 

NetCriminal

New member
הפתרון שלך יחזיר גם את @

strstr תמיד מחזירה גם את התו/המחרוזת המפרידה...
 

zeshe shoel

New member
עוד פתרון :) לאו דווקא פשוט יותר

$string = explode('-');
$string = 't_' . $string[1];
 
למעלה