تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تحويل دالة لعمل العكس html to bbcode
#1
السلام عليكم ورحمة الله وبركاته
وجدت دالة تقوم بتحويل البيبي كود الى اتش ام ال واريد ان اعكسها
كود :
Public Function ConvertHTML2BB(ByVal html As String) As String
   Try
     'Define regex
     Dim regExp As Regex

     'Regex for URL tag without anchor
     regExp = New Regex("\[url\]([^\]]+)\[\/url\]")
     html = regExp.Replace(html, "<a href=""$1"">$1</a>")

     'Regex for URL with anchor
     regExp = New Regex("\[url=([^\]]+)\]([^\]]+)\[\/url\]")
     html = regExp.Replace(html, "<a href=""$1"">$2</a>")

     'Image regex
     regExp = New Regex("\[img\]([^\]]+)\[\/img\]")
     html = regExp.Replace(html, "<img src=""$1"" />")

     'Bold text
     regExp = New Regex("\[b\](.+?)\[\/b\]")
     html = regExp.Replace(html, "<b>$1</b>")

     'Italic text
     regExp = New Regex("\[i\](.+?)\[\/i\]")
     html = regExp.Replace(html, "<i>$1</i>")

     'Underline text
     regExp = New Regex("\[u\](.+?)\[\/u\]")
     html = regExp.Replace(html, "<u>$1</u>")

     'Font size
     regExp = New Regex("\[size=([^\]]+)\]([^\]]+)\[\/size\]")
     html = regExp.Replace(html, "<span style=""font-size: $1px"">$2</span>")

     'Font color
     regExp = New Regex("\[color=([^\]]+)\]([^\]]+)\[\/color\]")
     html = regExp.Replace(html, "<span style=""color: $1"">$2</span>")

     Return html
   Catch ex As Exception
     Return Nothing
     Debug.Print(ex.ToString)
   End Try
 End Function
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
رحمك الله أبا الليث
الرد }}}}
تم الشكر بواسطة:
#2
.....

تكمن المشكلة في أن تنسيق HTML يختلف من مطور إلى آخر، في حين أن تنسيق BBCode في الغالب ثابت (موحد) في جميع المحررات.
بمعنى أن مطور يستخدم <span> وآخر يستخدم <p> وهكذا....
بالإضافة لاستدعاء الاستايلات بالامرclass والجافا سكريبت التي تقوم أيضاً بالتنسيق وكل هذا يزيد من صعوبة التحويل من HTML إلى BBCode...

التحويل من HTML إلى BBCode لم يتمكن منه حتى مواقع التحويل بشكل صحيح مثل:
BBCode Converter - BBCode to HTML and Back
HTML To BB Code Converter

.....
الرد }}}}
تم الشكر بواسطة:
#3
بارك الله فيك
هل ممكن الايضاح الرمز $1 و $2 مافائدتها وكيف تستخدم
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
رحمك الله أبا الليث
الرد }}}}
تم الشكر بواسطة:
#4
.....

$1 و2$ هي متغيرات ينتجها Regex تحتوي القيم المتغيرة المستخرجة من كود BBCode مثل اللون والنص والرابط.
ويتم التعويض بقيمتها عن طريق الامر Replace الخاص بنفس كائن Regex المنشأ والذي كما هو في الدالة regExp.
وبالمثال يتضح المقال.
كود :
BBCode كود
[color=#ffff]مرحبا[/color]

القيم المستخرجة
$1 = #ffff
$2 = مرحبا

وفيه تحديد أماكن وضع القيم بالتريب HTML قالب كود
<span style="color: $1">$2</span>

بعد التعويض بالقيم
<span style="color: #ffff">مرحبا</span>

$1 وتوجد قوالب ليس فيها إلا متغير واحد

وقوالب HTML الموجودة في المثال هي:
كود :
رابط ليس له عنوان نصي ونلاحظ أنه سيظهر الرابط كعنوان نصي أيضاً
<a href="$1">$1</a>

رابط له عنوان نصي
<a href="$1">$2</a>

صورة
<img src="$1" />

خط سميك
<b>$1</b>

خط مائل
<i>$1</i>

تسطير الخط
<u>$1</u>

حجم الخط
<span style="font-size: $1px">$2</span>

لون الخط
<span style="color: $1">$2</span>

وأعتقد أن الدالة المذكورة ينقصها القالب التالي
كود :
نوع الخط - اسم الخط
<span style="font-family: $1;">$2</span>

وتضاف في الدالة كالتالي
كود :
'Font face
regExp = New Regex("\[font=([^\]]+)\]([^\]]+)\[\/font\]")
html = regExp.Replace(html, "<span style=""font-family: $1"">$2</span>")


.....
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحويل الصوت الى نص Basil Abdallah 0 32 14-05-17, 09:34 PM
آخر رد: Basil Abdallah
  [سؤال] كيفية تحويل كود اكسلvba الى فيجوال بيسك farhat 10 318 10-03-17, 08:36 PM
آخر رد: farhat
  [سؤال] كيف يمكنني تحويل التقويم من هجري إلى ميلادي والعكس؟؟ اليوم مبتدئة وغداً محترفة 2 143 01-03-17, 03:55 AM
آخر رد: اليوم مبتدئة وغداً محترفة
  [سؤال] تحويل رقم farhat 3 119 27-02-17, 04:25 PM
آخر رد: farhat
  مشكلة ف الحفظ والتعديل بعد تحويل المشروع لملف تنفيذي apo yousef 3 166 23-02-17, 12:28 PM
آخر رد: ssayed111
Lightbulb للخبراء هل توجد مكتبة او اداة لعمل مثل هذا النموذج عن طريق vb.net ارجو المساعدة Amrjamil 6 221 18-02-17, 02:19 PM
آخر رد: Amrjamil
  تحويل الارقام الي حروف محمد بوقزاحة 6 446 22-01-17, 05:01 PM
آخر رد: tryold
  [VB.NET] مشكلة تحويل من 32بت الى 64 بت yemen1 3 241 08-01-17, 01:23 PM
آخر رد: yemen1
  كيفية التعديل على كود HTML ومن ثم عرضه في WebBrowser bidaya 5 394 24-12-16, 03:47 PM
آخر رد: ابو ليلى
  [سؤال] تعديل html قبل عرضه في WebBrowser ali.alfoly 16 558 24-12-16, 11:48 AM
آخر رد: Basil Abdallah

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


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