تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية عمل bbcode خاص بك في php فكرة
#1
السلام عليكم
هذه فكرة استخدمتها لعمل BBCODE اكيد الاخ مؤمن عنده افضل منها وضعت الموضوع لكي استفيد من معلوماته Wink
طبعا شرحنا اليوم ايضا تجاوز ثغرات الحقن
http://vb4arb.com/vb/showthread.php?2325...E%D1%ED%C8

لكن كيف يمكننا الحفاظ على تنسيق النصوص هنا ياتي عمل BBCODE فقبل الغاء وسوم HTML باحد دوال تجوزها كما في الرابط السابق يجب تحويل الوسوم المعروفة الى BBCODE (( ملاحظة هذا الكود استخدمته لاستقبل HTML من محرر مرئي ))


كود :
$text=str_replace("<b>","[b]",$text);
$text=str_replace("</b>","[/b]",$text);
$text=str_replace("<i>","[i]",$text);
$text=str_replace("</i>","[/i]",$text);
$text=str_replace("<u>","[u]",$text);
$text=str_replace("</u>","[/u]",$text);
$text=str_replace("<b>","[b]",$text);
$text=str_replace("</b>","[/b]",$text);
$text=str_replace("<br>","[br]",$text);
$text=str_replace("</p>","[/p]",$text);
$text=str_replace("<p>","[p]",$text);
$text=str_replace("<font","[font",$text);
$text=str_replace("color=\"","color=&",$text);
$text=str_replace("\">","&]",$text);
$text=str_replace("\">","&]",$text);
$text=str_replace("\" size=\"","& size=&",$text);
$text=str_replace("size=\"","size=&",$text);
$text=str_replace("</font>","[/font]",$text);
$text=str_replace("<div align=\"","[div align=&",$text);

بالنسبة عند القرائة قمت بعكس عملية الاستبدال
كود :
$text=str_replace("[b]","<b>",$text);
$text=str_replace("[/b]","</b>",$text);
$text=str_replace("[i]","<i>",$text);
$text=str_replace("[/i]","</i>",$text);
$text=str_replace("[u]","<u>",$text);
$text=str_replace("[/u]","</u>",$text);
$text=str_replace("[b]","<b>",$text);
$text=str_replace("[/b]","</b>",$text);
$text=str_replace("[br]","<br>",$text);
$text=str_replace("[/p]","</p>",$text);
$text=str_replace("<p>","[p]",$text);
$text=str_replace("[font","<font",$text);
$text=str_replace("color=&","color=\"",$text);
$text=str_replace("&]","\">",$text);
$text=str_replace("&]","\">",$text);
$text=str_replace("& size=&","\" size=\"",$text);
$text=str_replace("size=&","size=\"",$text);
$text=str_replace("[/font]","</font>",$text);
$text=str_replace("[div align=&","<div align=\"",$text);

طبعا احساسي يقول لي فيه كود اقوى من هذا بكثير لكن هذا هو ابسط ما فكرت به
اواجه مشكلة المنتدى يتعرف على BBCODE الي داخل الكود ؟ لذلك سارفق الكود في مستند نص


الملفات المرفقة
.txt   BBCODE.txt (الحجم : 1.65 ك ب / التحميلات : 43)
الرد }}}
تم الشكر بواسطة:
#2
فكرة جميلة جدا جدا جزاك الله خيراً
وانصحك اخي خالد بتعلم كيفية عمل function وجمل التكرار لتقليل الكود ومساحة الملف و المجهود ايضا
تقبل مروري اخوك مؤمن
الرد }}}
تم الشكر بواسطة:
#3
اسلام اخي مؤمن على الملاحظة
الكود اصلا نزعت من الدالة حيث اني ارسل للدالة text
حيث لديا دلاتنا دالة التحويل الى bbcode ودالة اخرى للاءعادتها الى html

,ضعتها هنا هكذا فقط للتوضيح الفكرة اكثر

مشكور لمعلومتك القيمة ومرورك
الرد }}}
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم