בעיה עם nl2br

apzer0

New member
בעיה עם nl2br

שלום, אני בונה פורום שיש בו אפשרות לעריכת ההודעה. כאשר הטקסט מוכנס לבסיס הנתונים הוא עובר כמה פונקציות שאחת מהן היא nl2br. כשאני לוחץ על כפתור העריכה בתיבת הטקסט הוא מציג לי את הטקסט שהכנסתי מקודם ואת כל תגי הbr. הצלחתי לפתור את הבעיה הזאת בעזרת שימוש ב $Text=str_replace("\n", "<br />",$Text); להחלפת nl2br (שבעצם מוסיף את תג הbr ולא מחליף אותו עם n\, מה שיוצא <br />\n) בהכנסה לבסיס הנתונים, וב $Text=str_replace("<br />","\n",$Edit['Text']); להצגת הטקסט בעריכה. הכל עובד טוב ויפה רק שבכל עריכה הטקסט מקבל עוד שורה (בסוף הטקסט) מ"שום מקום", למה?
 

apzer0

New member
ועוד שאלה...

למה השורה הבאה נותנת לשדות ריקים לעבור (היא אמורה לתת הודעת שגיעה אם אחד השדות ריקים או שיש בהם תו לבן כל שהו): if (preg_match("/\S/i",$_POST['TopicName'] && $_POST['TopicText'])){ זה עוצר שדות ריקים אבל לא שדות שיש בהם תו לבן (רווח, שורה חדשה...) =\
 
1

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

apzer0

New member
אמממ...

למה אתה לעשות ריפלייס? תפרט קצת בבקשה. ומה לא הבנת?
 
../images/Emo4.gif

אם הבנתי נכון,הבעייה שלך שבעת העידכון אתה רואה <br> ב TEXTAREA שלך, אז אני היתכוונתי לזה שכשאתה שולף את הנתונים אתה עושה לו replace (חפש על זה ב php.net),שיחליף את האנטרים ל <br>.
 

apzer0

New member
=\

הבנת נכון אבל מה שאתה אומר לא קשור זה עדיין יראה BRים. מה שאני עשיתי פועל אבל מוסיף עוד שורה בסוף הטקסט =\
 
למעלה