![]() |
(php) מחפש פונקציה לטיפול בhtml
כבר הרבה זמן שלא התעסקתי עם php ושכחתי פונקצייה אחת די חשובה..
הפונקצייה שאם נניח מישהו כותב לך קוד של html/js או כל שפה אחרת זה לא יריץ את הקוד על השרת אלא רק יציג אותו (אם נניח מישהו כותב את הפקודה HTML קוד:
<script language="javascript"> חוץ מזה שאלה שאף פעם לא הצלחתי לענות לעצמי עליה היא: מה ההבדל בין mysql_real_escape_string לבין mysql_escape_string ואיך משתמשים בכל אחד.. תודה רבה מראש למי שיענה על שתי השאלות או אפילו רק שאלה אחת. |
לאיזה מטרה אתה צריך את זה?
|
בס"ד
אתה רוצה שהקוד יוצג בדפדפן אבל לא יורץ?(כתבת שרת לא דפדפן) תעשה: $string=str_replace('<','<',$string); $string=str_replace('>','>',$string); |
ציטוט:
PHP קוד:
|
נפתח
|
לא הבנתם אותי נכון..אני מכיר את הפונקצייה str_replace וזה לא מה שאני מחפש..גם strip_tags וגם htmlenitites ושתי הפונקציות לא מה שאני מחפש. אני לא מחפש להעלים תווים או להפוך את הטקסט לג'יבריש..אני מעוניין שאם מישהו כותב קוד html/js או כל שפה אחרת זה לא יבצע אותו אלא רק יציג אותו (הקוד כמו מההתחלה רק שלא יקפיץ הודעה של "gdf" אלא יציג את הקוד
<script language="javascript"> alert("gdf"); </script> כמו נניח במערכת הזאת או כל מערכת אחרת. |
לא הסברת לי עדיין בשביל מה אתה צריך את זה, בכל מקרה אם הבנתי אותך נכון אז תרשום ככה:
קוד:
<script language="javascript"> מקווה שעזרתי לך, יום טוב. |
בס"ד
נכון, זה מה שזה יעשה. ה>< יהפכו לסימנים אחרים ככה שהדפדפן לא יחשיב אותם כHTML והסקריפט לא יופעל. |
במערכת הזאת, עובדים עם str_replace או עם eregi_replace אם אני לא טועה..
והקוד הוא הקוד שנתנו למעלה. אין שום אפשרות אחרת. אם אני לא טועה יש פונקציה בHTML שמנטרלת פעילות תגים אבל אני לא בטוח.. |
למה לא בhtmlspecialchars?
http://il.php.net/htmlspecialchars |
אני אסביר את זה עוד יותר פשוט..
במערכת הזאת אתה כותב <script language="javascript>gjgfch</script> וזה מציג את הקוד <script language="javascript>gjgfch</script>. אני זוכר שיש פונקציה כזאת כי השתמשתי בה פעם אבל שכחתי אותה כבר. כל הרעיונות של להפוך לתווים כדוגמת < אני מכיר וזה לא המטרה שלי. נניח המטרה של זה היא לאתר שעוסק בתיכנות ומן הסתם אם מישהו הולך לשאול שאלה אם קוד הוא רוצה שזה יציג את הקוד ולא יפעיל אותו ולא יחרבש אותו..(סתם דוגמה) אני רוצה פשוט פונקציה שתגרום לזה שזה לא יפעיל את הקוד, רק יציג אותו. |
HTML קוד:
<div id="post_message_177511">אני אסביר את זה עוד יותר פשוט..<br /> הינה לך ההוכחה הכי מוצקה שאפשר לזה שהמערכות משתמשות בזה, ושאין דרך אחרת לעשות את זה. תחשוב חכם. הרי כל מה שבין < ל-> מופיע כתגית, גם אם הוא לא מכיל תוכן ממשי.. [לדוגמא <bla>] אם ככה, בHTML הקוד חייב להיות מוצג בצורה הזאת: HTML קוד:
<script> משמע- השיטה היחידה היא לעשות < >. או פשוט, לחפש בw3c בריפרנס לHTML פקודה שמנטרלת פעילות תגים. |
אוקיי תודה..נראה איך הולך לי, במידה ולא אני אפתח נושא חדש..
בינתיים מישהו יכול לענות לי על השאלה השנייה (מה ההבדל בין mysql_real_escape_string לבין mysql_escape_string ואיך משתמשים בכל אחד מהם) |
אין לי שמץ, אבל סביר להניח שזה קשור לערך ממשי- (real)
תסתכל באיתן. |
כל הזמנים הם GMT +2. הזמן כעת הוא 20:28. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ