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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 29-08-11, 21:04   # 1
link
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 36
הודעות: 191

link לא מחובר  

עזרה עם ביטויים רגולרים(לא הצד החזק שלי)

שלום לכולם,
אני מנסה לפתור בעיה בעזרת ביטויים רגולרים אבל אני לא מצליח ממש. הבעיה היא: יש לי לוגיקה של שפה שאימצתי לעצמי לקראת הפרויקט שאני מפתח אותו כרגע(אני הרכבתי אותה) והיא עובדת בצורה הבאה: כל טקטס שהולך בצורה
PHP קוד:
{%lang['main']['number']} 
הוא בעצם מכוון אותי לאיזה קבצי שפה לגשת, ואיזה מפתח לחפש. במקרה שלנו main הוא הקובץ שמכיל את מפתחות השפה ו-number הוא המפתח במערך השפה.

ניסתי עם preg_match_all שבעצם יחזיר לי המפתחות אבל לא ממש הצלחתי. הצעות למישהו?
  Reply With Quote
ישן 29-08-11, 21:13   # 2
Itay
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 564

Itay לא מחובר  

PHP קוד:
$text "blsfa sf afsa{%lang['main']['number']}sfas fsaf sfas sfassa{%lang['bla']['test']} fasfsaf sf ssfsafa";
$ptrn "/{%lang(.*?)}/ismx";
preg_match_all($ptrn$text$arr); 
יחזיר לך את
קוד:
{%lang['main']['number']}
  Reply With Quote
ישן 29-08-11, 21:30   # 3
link
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 36
הודעות: 191

link לא מחובר  

כן, אבל אני רוצה לקבל את המפחות, במקרה הזה את main ו-room
  Reply With Quote
ישן 29-08-11, 22:51   # 4
Itay
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 564

Itay לא מחובר  

הכל עם אותו רעיון, פשוט תגביל אותו על ה-['']
זה הקוד:
PHP קוד:
$text "blsfa sf afsa{%lang['main']['number']}sfas fsaf sfas sfassa{%lang['bla']['test']} fasfsaf sf ssfsafa";
$ptrn "/{%lang\['(.*?)'\]\['(.*?)'\]}/ismx";
preg_match_all($ptrn$text$arr); 
עריכה: תיקון - יותר נכון לכתוב ככה:
PHP קוד:
$text "blsfa sf afsa{%lang['main']['number']}sfas fsaf sfas sfassa{%lang['bla']['test']} fasfsaf sf ssfsafa";
$ptrn "/{%lang\['([^'\]]+)'\]\['([^'\]]+)'\]}/ismx";
preg_match_all($ptrn$text$arr); 

Last edited by Itay; 29-08-11 at 22:56..
  Reply With Quote
ישן 30-08-11, 19:30   # 5
link
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 36
הודעות: 191

link לא מחובר  

והאלגוריתם הסופי(למי שירצה אי פעם להשתמש בזה):
PHP קוד:
    function language_login() {
        if(!empty(
$this->output)) {
            
preg_match_all("/{%lang\['([^'\]]+)'\]\['([^'\]]+)'\]}/ismx"$this->output$arr);
            
            
// unified keys.
            
foreach($arr[1] as $value) {
                
$unified[$value] = true;
            }
            
            foreach(
array_keys($unified) as $key) {
                foreach(
$arr[2] as $value) {
                    if(isset(
$this->lang[$key][$value])) {
                        
$this->output str_replace("{%lang['{$key}']['{$value}']}"$this->lang[$key][$value], $this->output);
                    }
                }
            }
        }
    } 
תודה רבה על העזרה.
  Reply With Quote
ישן 30-08-11, 22:58   # 6
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ישנם הרבה פתרונות מוכנים לריבוי שפות בPHP, אני מציע לך לבחון אותם לפני שאתה מתבסס על אחד משלך.
  Reply With Quote
ישן 31-08-11, 18:22   # 7
link
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 36
הודעות: 191

link לא מחובר  

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

כמו כן, גם חשבתי להשתמש בריבוי שפות כמו של דרופל אבל העדפתי שלא.
  Reply With Quote
ישן 31-08-11, 21:22   # 8
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

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

כמו כן, גם חשבתי להשתמש בריבוי שפות כמו של דרופל אבל העדפתי שלא.
היעילות שזה מאוד בעייתית.
כדאי לפחות לעשות לזה CACHING או משהו
  Reply With Quote
ישן 31-08-11, 22:40   # 9
link
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 36
הודעות: 191

link לא מחובר  

ציטוט:
נכתב במקור על ידי בניה צפה בהודעה
היעילות שזה מאוד בעייתית.
כדאי לפחות לעשות לזה CACHING או משהו
לא הייתי פונה למטמון בשביל השפה כי זו מערכת מאוד קטנה מבחינת לוגיקת השפה ובגלל זה גם לא חשבתי לאחסן מידע במסד אלא במערכים.
  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. הזמן כעת הוא 23:07.

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