اخواني كيف يمكنني منع اكواد الــــ php , htm , bbcode
من العمل بحيث لا تتم معالجتهم
اخواني كيف يمكنني منع اكواد الــــ php , htm , bbcode
من العمل بحيث لا تتم معالجتهم
__________________
من جديد :)
تقصد فين بالضبط؟
اذا كنت تقصد منع الأكواد من العمل عند طباعتها في الصفحة
فيكفيك الدالة htmlspecialchars()
مثلاً:
لو قمنا بتنفيذ الكواد التالي:
يكون الناتج:كود HTML:$text = "<font color='red'>مرحباً</font>"; echo $text;
مرحبا
أما الكود التالي:
فتكون نتيجة تنفيذه:كود HTML:$text = "<font color='red'>مرحباً</font>"; echo htmlspecialchars($text);
<font color='red'>مرحباً</font>
هذا بالنسبة لاكواد html و bbcode
امابالنسبة لاكواد php فلا تحتاج لأي معالجة قبل طباعتها
اتمنى ان اكون قد افدتك
__________________
مدونتي
/* xxxxxxxxxxxx */
$text=nl2br($text);
__________________
2msrv2.com
2mSrv2 is one of 2mHost.com web servers
http://www.webhosting.info/webhosts/tophosts/Country/EG
السلام عليكم
يمكنك استخدام هذه الداله الرائعه ( تنقع لسكربتات المقالات او المنتديات ...)
هذه هي الداله
كود PHP:
<?
function make_safe($str)
{
return htmlspecialchars(addslashes($str));
}
?>
طريقة الإستخدام :
كود PHP:
$name= make_safe($_POST['name']);
ملاحظة : الدالة منقوله من منتدى بي اتش بي.
...
__________________
- موقع مبرّمج.
- موقع قالبي (معرض قوالب عربية و مُعربة ).
-معارض قالبي (أنشى معرضك على الإنترنت مجاناً!)
شكرا اخواني علي التعاون الشديد منكم وتحياتي للجميع
واتم استخدام الدالة
شكرا (mahmoud009)كود PHP:
htmlspecialchars()
اخوي
ff5006
لم استطع استخدام الدالة عند عرض بيانات من قاعدة البيانات
شكرا للجميع
التعديل الأخير تم بواسطة mwafi ; 11-10-2007 الساعة 08:46 PM
__________________
من جديد :)
اخواني عند استخدم
لم يعد بالامكان نزول سطركود PHP:
htmlspecialchars()
كل المدخل يظهر في سطر واحد ارجو ايجاد حل
__________________
من جديد :)
اخواني الموضوع بالاصل لمنع الزوار عند التعليق علي المواضيع منعهم من استخدام الاكواد المذكورة
__________________
من جديد :)
مرر النص في الدالة nl2br قبل طباعته
__________________
مدونتي
الصراحة اخوي mahmoud009 ما اعرف ايش اقولك
بس اقول شكرا
لكن لو تعطينا بعض من علمك وتخبرنا ايش الفرق بين الدالتين
وكود PHP:
nl2br()
او ماذا تفعل بالتحديد كل واحدة منهماكود PHP:
htmlspecialchars()
وهل توقف الدالة
معالحة الـــ بي اتش بيكود PHP:
htmlspecialchars()
لان هذا ما حدث معي
تحياتي لاستاذي
التعديل الأخير تم بواسطة mwafi ; 12-10-2007 الساعة 02:30 AM
__________________
من جديد :)
اخي الكريم لا شكر على واجب
وما فعلت معك غير اللي كان أي أخ هنا في سوالف سيفعله
أنا اقولك عالفرق:
أولا الدالة nl2br(): ماذا تفعل؟
النص الموجود في أي textarea دائما يحتوي على عدة أسطر، وال textareaـ تستخدم الكود \n للتعبير عن سطر جديد، يرادفها في html الرمز <br />
ولتحويل النص من صورة الـ textarea (استخدام \n) الى صورة html (استخدام <br />) نستخدم الدالة nl2br() حيث تقوم كما هو واضح من اسمها باستبدال اي \n تجدها في النص الى <br />، وبهذا يظهر النص في سطور عند طباعته في صفحة html
اما دالة htmlspecialchars()
فهي تقوم بتشفير بعض الرموز الخاصة مثل (> و < و " و ' و & ) الى الاكواد المقابلة لها htmlentites وهي (< و > و " و ' و & ) على الترتيب
خلاص شفرنا النص؟
طيب عند طباعة هذا النص الى المتصفح يتم ترجمة هذه الرموز مرة أخرى الى أصلها الأول
وبالتالي تظهر الرموز في صفحة html بدون تنفيذ
اما لو ماكنا مررناها في الدالة كانت سيتم تنفيذها ولن تظهر، فقط سيظهر تأثيرها ككود html
اتمنى اني اكون وضحتلك الفكرة شوية
وسامحني لأي قصور
تحياتي
__________________
مدونتي
شكرا مرة ثانية استاذي mahmoud009
والصراحة توضيحك واضح ودقيق جدا
تحياتي
__________________
من جديد :)
كود PHP:
function clean($val){
return htmlspecialchars(strip_tags(addslashes(nl2br($val))));
}
هذي تكفيك
__________________
سبحان الله وبحمده ،، سبحان الله العظيم
تذكر هذه الآيه قبل ان تشارك( مَا يَلْفِظُ مِن قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ)
وهذي اذا تحب تعرض الكود بدون مايشتغل بعد
كود PHP:
function post_htmlspecialchars($text = "") {
$text = str_replace( "<", "<" , $text);
$text = str_replace( ">", ">" , $text);
$text = str_replace( '"', """, $text);
$text = str_replace( "'", "'", $text);
return $text;
}
__________________
ومن اعجب الاشياء انك لاتدري وانك لاتدري بانك لاتدري
فإن كنت لاتدري ولم تكُ بالذي يسال من يدري فكيف اذن تدري
تمام العمى طول السكوت وانما شفاء العمى يوماً سؤالك من يدري
وهذي برضو لاحتساب الأسطر
وهي تضيف السلاش للأمان
+ تحويل المسافات والفراغات بما يعوض عنها
كود PHP:
$text = addslashes(preg_replace('#(\r\n|\n|\r)#', '<br />', $text));
__________________
ومن اعجب الاشياء انك لاتدري وانك لاتدري بانك لاتدري
فإن كنت لاتدري ولم تكُ بالذي يسال من يدري فكيف اذن تدري
تمام العمى طول السكوت وانما شفاء العمى يوماً سؤالك من يدري