צריך עזרה

bnayal

New member
צריך עזרה

אני בונה פורום, עד עכשיו כשהכניסו הודעה חדשה עשיתי ככה:
$HTML = str_replace("\n", "<br>", $HTML);​
ואז זה עושה לי enter בכל enter שעשיתי בתיבת טקסט אבל עכשיו עשיתי בפורום ביטול של הHTML ככה:
$text = htmlspecialchars($msgs['text']);;​
וזה מבטל לי גם את ה<br> של השורות, מה יכול להחליף את זה, ככה שהפונקציה החדשה שהכנסתי לא תפריע לשורה החדשה?
 

אמיר ט

New member
--->

אתה צריך לשנות את הסדר, HTMLSPECIALCHARS צריך להיות הפונקציה הראשונה שאתה מפעיל על הטקסט, כי היא מבטלת את כל הפקודות שהמשתמש ניסה לתת ב HTML. לאחר מכן אתה יכול להתחיל לשתול HTML משלך, אם זה כדי לרדת שורה או לשים סמיילים או תמונות או מה שזה לא יהיה. בנוסף ישנה פונקציה ייעודית שהופכת סלאש אן ל <BR> היא נקראת nl2br בעיקרון השורה שלך צריכה להראות ככה :
$text = nl2br( htmlspecialchar( $msgs['text'] ) ); וטיפ קטן, תחפש מידע עם פונקציות שנקראות hebrev ו hebrevc הם מאד מאד שימושיות לבוני אתרים בעברית.​
 

bnayal

New member
לא הבנתי

אתה אומר שאני צריך לשים את הפונקציה של הביטול HTML לפני שני מכניס את זה לתוך הבסיס נתונים? זה ישנה משהו? ואיפה אני שם את הפונקציה nl2br?
 

אמיר ט

New member
אוקי...

את הפונקציה של ביטול ה HTML אתה מריץ דבר ראשון אחרי השליפה מהבסיס נתונים ואחרי זה מריץ את nl2br בעיקרון מהלך העבודה צריך להיות כזה : 1. שליפה מהמסד 2. ביטול HTML 3. הפיכת \n ל BR ע"י nl2br
 
למעלה