رفتن به مطلب
  • 0

پنهان کردن <h>,<br>...در بسیک


عباس

سوال

سلام خدمت شما دوستان گل و نازنین امید میرود هر جا هستید لباس عافیت بر تن داشته باشید‌...و حالی تون خوب باشه.

 

 

دوستان٬ مشکل من اینه که چطور 

میتونم پارامتر های اچ تی میل رو در بسیک پنهان کنم اما شما میدونید که در دیتابیس از اینها <h> ، <br> به عنوان قشنگ کردن متن یا بهتر عرض کنم واسه بزرگ کردن قسمت از متن و رفتن به خط بعدی استفاده میکنند.

حالا من اطلاعات رو از دیتابیس فراخوانی کردم این پارامتر ها هم همراه متن و اطلاعات اومده چیکار کنم؟؟؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 11 ساعت قبل، عباس گفته است :

سلام خدمت شما دوستان گل و نازنین امید میرود هر جا هستید لباس عافیت بر تن داشته باشید‌...و حالی تون خوب باشه.

 

 

دوستان٬ مشکل من اینه که چطور 

میتونم پارامتر های اچ تی میل رو در بسیک پنهان کنم اما شما میدونید که در دیتابیس از اینها <h> ، <br> به عنوان قشنگ کردن متن یا بهتر عرض کنم واسه بزرگ کردن قسمت از متن و رفتن به خط بعدی استفاده میکنند.

حالا من اطلاعات رو از دیتابیس فراخوانی کردم این پارامتر ها هم همراه متن و اطلاعات اومده چیکار کنم؟؟؟

 

ریپلیس کن

text = text.Replace("<h1>","").Replace("</h1>","").Replace("</br>","").Replace("<p>","")

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگه فقط چند تا تگ هستش و می خواید اونها رو حذف کنید. همونطور که softir فرمودند باید از replace استفاده کنید.

کد زیر کامل تر و سریع تره و لازم نیست تگ ها رو یکی یکی پاک کنید. یکی از دستورات رو اجرا کنید (فرق زیادی نداره)

 تا تمام تگ ها پاک بشن

Dim shtml As String
	shtml = "<h1>This<br> is<br/><hr/><hr> a Heading</h1><br>" & CRLF & _
	"<p>This Is<adad> a<dadwad/> <span id=""s"" class='ds'>paragraph</span>.</p>"
	
    'یکی از دستورات زیر
	'shtml = Regex.Replace2("<.*?>",Regex.CASE_INSENSITIVE,shtml,"")
	shtml = Regex.Replace2("<[^>]*>",Regex.CASE_INSENSITIVE,shtml,"") 
	
	Msgbox(shtml,"")

البته تبدیل html به متن ساده معمولا ریزه کاری های بیشتری داره . شاید روش ساده تری هم تو جاوا یا b4a داشته باشه. خودمم نمیدونم!

کارهای مهم دیگه ای که باید انجام بدین ...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این کد کاملتره

Dim html As String
	html = File.GetText(File.DirAssets,"html.html")
	Msgbox(html,"")
	
		html = Regex.Replace2("< *br *\/? *>",Regex.CASE_INSENSITIVE,html,"((#br#))")
		html = Regex.Replace2("<[^>]*>",Regex.CASE_INSENSITIVE,html,"")
		html = Regex.Replace2("[\s\r\n]+",Regex.CASE_INSENSITIVE,html," ")
		
		html = html.Replace("((#br#))",CRLF)
		
		html = html.Replace("&nbsp;"," ").Replace("&lt;","<").Replace("&gt;",">").Replace("&amp;","&").Replace("&quot;","""").Replace("&apos;","'")
	
	Msgbox(html,"")

برای html ساده که درش فقط تگ های اینلاین استفاده شده باشه، فکر کنم این کد مناسب باشه. (همچنین تگ br)

تگ اینلاین inline : مثل همون تگ b که فقط طاهر متن رو کمی تغییر میده

اگه از تگ های غیر اینلاین مثل p یا div استفاده شده باشه .کار خیلی پیچیده میشه و راحت تره که تو Webview نمایشش بدید.

---------------------------------

در کد بالا کار های زیر رو انجام دادم :

1- تگ br رو به عبارت مخصوصی تبدیل کردم که خذف نشه و بعدا (قسمت 4) دوباره به کاراکتر های رفتن به خط بعد یا شکستن خط (CRLF) تبدیلش کردم.

2- تگ های اضاقه رو حذف کردم.

3-فاصله های اضافه (space-Tab) و کاراکتر های اضافه (\r\n) که در نمایش خروجی html نادیده گرفته میشه رو حذف کردم. (برای مثال مرورگر در html چند فاصله رو یکی حساب می کنه و این کد میاد همین تبدیل رو انجام میده)

4-تبدیل عبارت ((#br#)) به CRLF

5 - تبدیل کاراکتر های مخصوص html به کاراکتر های معمولی در متن (HTML Entities)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 15 ساعت قبل، عباس گفته است :

سلام خدمت شما دوستان گل و نازنین امید میرود هر جا هستید لباس عافیت بر تن داشته باشید‌...و حالی تون خوب باشه.

 

 

دوستان٬ مشکل من اینه که چطور 

میتونم پارامتر های اچ تی میل رو در بسیک پنهان کنم اما شما میدونید که در دیتابیس از اینها <h> ، <br> به عنوان قشنگ کردن متن یا بهتر عرض کنم واسه بزرگ کردن قسمت از متن و رفتن به خط بعدی استفاده میکنند.

حالا من اطلاعات رو از دیتابیس فراخوانی کردم این پارامتر ها هم همراه متن و اطلاعات اومده چیکار کنم؟؟؟

 

برای تگ هایی مثل p div h1 h2 و ... که به صورت پیشفرض استایل بلوکی دارند. میشه (فکر کنم) یکی یکی تبدیلات (جایگزینی های) زیر رو انجام داد و بعد کد بالا رو روش اعمال کرد. ولی همون راحت تر و منطقی تره که از webview استفاده بشه.

"</div>" -> "</div><br/>"
"</p>" -> "</p><br/>"
یا اگه لازم بود
"<p>" -> "<p><br/>"
"<div>" -> "<div><br/>"

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...