![]() |
[בעיה] str_replace עקשן =\
שמעו הקוד שלי הוא כזה:
PHP קוד:
עכשיו במסד זה שמור עם תגי HTML כמו BR וB וכאלה, אך שאני מציג את זה בתצוגה מסוימת ביטלתי אותם דרך htmlspecialchars, ואז זה משאיר לי את זה ככה: ציטוט:
ניסיתי גם עם preg_replace ... תודה לעוזרים ומצטער שאני פותח מלא אכולות פשוט מלא בעיות בפרוייקט.. =[ |
נסה רק חלק מהתווים , כך תוכל לאתר את השגיאה..
קוד:
$msg = str_replace("<","",$msg); |
אם תסתכל בקוד מקור של הדף אתה תשים לב שאין לך באמת < או > בקוד אלא את הקוד ההפוך שלהם (שהפונקצייה htmlspecialchars יוצרת)
|
אחרי שהוספתי את השורות:
PHP קוד:
ציטוט:
ציטוט:
|
תעיף את htmlspecialchars, כי הוא לא מוציא כלום, אלא רק ממיר < ל < וכיו"ב, כדי שזה יהיה בטוח, אבל הוא לא מסיר כלום.
ע"מ להסיר טגים, יש פונקציה מאד יפה בשם strip_tags בהצלחה נ.ב, למתעקשים שבניכם, REGEXP נכון למקרה הזה הוא קוד:
<[a-zA-Z\/][^>]*> |
תודה רבה עזרת לי מאוד!
|
טעות נפוצה:
תחשוב שניה איך זה עובד: קודם הוא משנה שם של הטאגים, אח"כ הוא מבטל BR? זה צריך להיות הפוך!: ביטל BR- תיקון טאגים: PHP קוד:
אגב, אולי אתה צריך את זה.. בשביל לבטל את כל הטאגים: striptags() ... |
כל הזמנים הם GMT +2. הזמן כעת הוא 00:21. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ