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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה בSTR REPLACE (https://hosts.co.il/forums/showthread.php?t=21176)

-VladK- 04-05-06 15:35

בעיה בSTR REPLACE
 
שלום.
אני יעבור ישר לעניין...נגיד יש לי קובץ TPL...בתוך הקובץ רשום לי כול מיני קודי HTML וכתוב לי שם את הקוד
HTML קוד:
HTML קוד:

<*CODE*>
אני רוצה שברגע שיופיע הקוד הזה אני רוצה שהוא יוחלף במשהו שאני יגדיר...
אמרו לי שזה בעזרת STR REPLACE...עשיתי את זה אבל בשביל זה צריך להשתמש במשתנים...
מאחר ואני לא משתמש במשתנים אז איך אני יעשה זאת?
דרך אגב אני מיבא את קובץ הTPL לעמוד הPHP שעושה את הSTR REPLACE

סליחה שפירסמתי את זה באשכול ישן פשוט חשבתי שאני מפרסם אשכול חדש ולא תגובה.

BlueNosE 04-05-06 16:03

xD זה בדיחה כאילו?
אתה עובד עם PHP אבל אתה "לא משתמש במשתנים"?!!!
xDDD קרעת אותי

תלך ללמוד להשתמש משתנים ואחר כך תחזור לפה אם יהיו לך שאלות xDDD

-VladK- 05-05-06 11:28

אחי לא הבנתה אותי.....אני משתמש אבל עזוב....אתה יכול לתת לי דוגמה או הסבר בעברית על איך אני יכול לעשות את זה?

RS324 05-05-06 16:21

לא הייתי ממליץ לך לעשות את זה ב STR_REPLACE כי הוא איטי יחסית
הדרך הכי פשוטה לעשות את זה היא ככה :
PHP קוד:

$string file('index.tpl);
$string = preg_replace('
/<code>/','<mytag>,$string); 


-VladK- 06-05-06 08:54

זה מביא לי שגיאה :(

Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in /home/afrsek/domains/---/public_html/Forum/text.php on line 3
Array
הנה הקוד:
PHP קוד:

<?php
$string 
file('text.tpl');
$string preg_replace('code','sss',$string);
echo 
$string;
?>


BlueNosE 06-05-06 09:22

נותנים לך קוד ואתה משנה אותו לאיך שבא לך, למה שיפעל?
PHP קוד:

<?php
$string 
file('text.tpl');
$string preg_replace('/code/','sss',$string);
echo 
$string;
?>

חוצמזה אני לא מבין את מי שכתב שSTR REPLACE לא טוב..

-VladK- 06-05-06 15:37

אהההם הוא לא בדיוק עושה מה שאני צריך שהוא יעשה :(
הוא במקום להחליף את הקוד בSSS הוא כותב לי Array וזהו!
למה?

RS324 06-05-06 16:00

ציטוט:

נכתב במקור על ידי BlueNosE
נותנים לך קוד ואתה משנה אותו לאיך שבא לך, למה שיפעל?
PHP קוד:

<?php
$string 
file('text.tpl');
$string preg_replace('/code/','sss',$string);
echo 
$string;
?>

חוצמזה אני לא מבין את מי שכתב שSTR REPLACE לא טוב..

לא אמרתי ש STR לא טוב פשוט אמרתי ש PREG יותר מהיר...

ציטוט:

אהההם הוא לא בדיוק עושה מה שאני צריך שהוא יעשה
הוא במקום להחליף את הקוד בSSS הוא כותב לי Array וזהו!
למה?
תעשה PRINT_R - מה הוא מחזיר לך ?

-VladK- 06-05-06 16:05

זאת השגיאה שהוא מחזיר:

Warning: print_r() expects at most 2 parameters, 3 given in /home/crisis/domains/tuneme-il.2is.us/public_html/text.php on line 3

והנה הקוד:
PHP קוד:

<?php
$string 
file('text.tpl');
$string PRINT_R('/<aa>/','<hr>',$string);
echo 
$string;
?>


RS324 06-05-06 16:49

ציטוט:

נכתב במקור על ידי VLAD-K
זאת השגיאה שהוא מחזיר:

Warning: print_r() expects at most 2 parameters, 3 given in /home/crisis/domains/tuneme-il.2is.us/public_html/text.php on line 3

והנה הקוד:
PHP קוד:

<?php
$string 
file('text.tpl');
$string PRINT_R('/<aa>/','<hr>',$string);
echo 
$string;
?>


לאאא
חחחח
התכוונתי שתעשה
print_r($strimg); במקום echo $string;

-VladK- 06-05-06 16:53

זה עושה לי עמוד לבן :(
כשאני מסתכל בSOURSE של העמוד הוא מציג לי את זה:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1255"></HEAD>
<BODY></BODY></HTML>
על אף שבכלל כול הקודים האלא לא קיימים אצלי במסמך...
כול מה שיש לי שם זה:
PHP קוד:

<?php
$string 
file('text.tpl');
$string preg_replace('/<aa>/','<hr>',$string);
print_r($strimg);
?>

וזהו!

RS324 06-05-06 17:03

תשים לב למה שאתה כותב
כתבת strimg במקום string !!!!

adiga000 06-05-06 18:14

VLAD-K

בSOURCE
זה מראה לך מה שהHTML קורא..
זה לא יקרא PHP \ ASP וכו'..

BlueNosE 06-05-06 19:23

תעשה טובה, תלמד PHP.
כשאומרים לך לעשות print_r ואתה מחליף את PREG_REPLACE בPRINT_R, זה מראה שאתה לא יודע את היסודות.. אני לא בא לפה בשביל לרדת עליך, סתם חבל שאתה מנסה דברים שאתה אפילו לא מבין מה הם עושים.
למה כתבת $strimg?..

-VladK- 06-05-06 20:51

ציטוט:

נכתב במקור על ידי adiga000
VLAD-K

בSOURCE
זה מראה לך מה שהHTML קורא..
זה לא יקרא PHP \ ASP וכו'..

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

תעשה טובה, תלמד PHP.
כשאומרים לך לעשות print_r ואתה מחליף את PREG_REPLACE בPRINT_R, זה מראה שאתה לא יודע את היסודות.. אני לא בא לפה בשביל לרדת עליך, סתם חבל שאתה מנסה דברים שאתה אפילו לא מבין מה הם עושים.
למה כתבת $strimg?..
אחי אני לומד ...אני לומד מטעויות...
ציטוט:

תשים לב למה שאתה כותב
כתבת strimg במקום string !!!!
תיקנתי! יופי הכול עובד לי רק ש...הוא מראה לי את זה ככה:
Array ( [0] => code1 [1] => code2 [2] => code3 [3] => code4 [4] => code5 [5] => code6 [6] => code7 [7] => code8 [8] => code9 [9] => code0 [10] =>
--------------------------------------------------------------------------------
)
במקום להראות:
code1
code2
code3
code4
code5
code6
code7
code8
code9
code0
-----------------------------------------------------------

RS324 06-05-06 20:55

ציטוט:

נכתב במקור על ידי VLAD-K
אני יודע זאת אבל כתבתי שכול הקובץ מורכב רק מPHP...לא הכנסתי את התגיות ההן...אבל זה לא חשוב עכשיו..

אחי אני לומד ...אני לומד מטעויות...

תיקנתי! יופי הכול עובד לי רק ש...הוא מראה לי את זה ככה:
Array ( [0] => code1 [1] => code2 [2] => code3 [3] => code4 [4] => code5 [5] => code6 [6] => code7 [7] => code8 [8] => code9 [9] => code0 [10] =>
--------------------------------------------------------------------------------
)
במקום להראות:
code1
code2
code3
code4
code5
code6
code7
code8
code9
code0
-----------------------------------------------------------


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

-VladK- 06-05-06 20:57

הנה הקוד של עמוד הPHP:
PHP קוד:

<?php
$string 
file('text.tpl');
$string preg_replace('/<aa>/','<hr>',$string);
print_r($string);
?>

והנה קובץ הTPL:
קוד:

code1
code2
code3
code4
code5
code6
code7
code8
code9
code0
<aa>


RS324 06-05-06 20:59

אני לא יודע מה הסתבכת....

הנה בשבילך הקוד שעובד :

PHP קוד:

$text "this is my code and i want to replace all code words to something else";

$text preg_replace('/code/','mytest',$text);

echo 
$text

והתוצאה שקיבלתי כשהרצתי את הסקריפט :

ציטוט:

this is my mytest and i want to replace all mytest words to something else
עובד מצויין

-VladK- 07-05-06 05:08

אוקיי הוא עובד...אבל סתכל....אני מייבא טקסט מקובץ אחר...זה לא בתוך משתנה...
מה ההבדל בין הקוד שלי לשלך? ששלי מיבא קובץ ושלך לוקח טקסט ממשתנה...

BlueNosE 07-05-06 06:56

"--
אתה מייבא לתוך משתנה.

-VladK- 07-05-06 12:24

אבל למה הוא מדפיס לי הכול כמערך? אני לא צריך שהוא יכתוב לי CODE1 ]1[ וזה...אני רק צריך שהוא ידפיס לי את מה הקודים שיש בקובץ הTPL ויחליף מה שאני אומר לו במה שאני אומר לו בלי דברים מיותר...

BlueNosE 07-05-06 12:44

אז תעשה import של \n מה הבעיה?..!

-VladK- 07-05-06 13:05

הבעיה היא שאני מתחיל...אני עדיין לומד חלק מהדברים ...וכפי שאני זוכר /N זה לא עושה ירידת שורה או שאני טועה?

BlueNosE 07-05-06 13:09

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

-VladK- 07-05-06 15:42

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

BlueNosE 07-05-06 17:12

אבל התעלמת לגמרי מהחלק השני של הדברים!
תנסה לבד!
אני בגיל 11 כבר בניתי מערכת תגובות (עריכה: כתבתי בערכת, כנראה אני מצונן O.o), בלי שום מדריך! =]
תנסה, זה לא עולה כסף, וזה יכול להיות שווה הרבה.

-VladK- 07-05-06 19:06

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

BlueNosE 07-05-06 19:13

עשה טובה, אל תסבך את עצמך עם preg, תחזור לstr עד שתלמד PCRE, זה נושא ממש מתקדם ולא הייתי ממליץ להתחיל עכשיו

עליתי על הבאג שלך.. מה שקרה זה, שהפונקצייה file נותנת מערך של כל שורה, ובעצם נוצר מצב שיש מערך במקום מה שרצית..

תעשה עכשיו לדוגמא
PHP קוד:

$bbb file ('bla.tpl');
$bla str_replace ("<aa>""<hr>"$bbb)
  foreach (
$bla as $val) echo "{$val}\n";//אם בא לך תחליף את הסוף בבי אר או משהו 


-VladK- 07-05-06 19:22

יאייי...תודה רבה! YOU ARE THE MAN! חחח כל זה אחרי 3 עמודים XD

BlueNosE 07-05-06 19:28

בבקשה, תהנה =]
ותשים(מו) לב גם לדברים הקטנים והמעצבנים האלה..


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

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