PDA

View Full Version : مشکل تگ های HTML در ToolTip



nazaninam
شنبه 17 تیر 1385, 09:59 صبح
من یک ادیتور دارم که بوسیله اون متون رو وارد بانک میکنم و بعد داخل یک لیبل یا هرچیزه دیگه نشونش میدم همه این لیبل ها دراری تول تیپ هستن که مثلا 20 کاراکتر از کل اون متون رو نشون میدن ولی مشکل اینجاس که متون داخل لیبل درسته چون server.encode رو انجام دادم ولی برای تول تیپ ها کد های html رو نشون میده
چی کار باید بکنم که مثل همین سایت درست نشون بده ؟ البته مجید آنلاینم فکر کنم همین مشکل رو داره

SalarSoft
شنبه 17 تیر 1385, 17:29 عصر
با استفاده از این کد تگ های Html حذف شده و متن ساده نمایش داده می شه.



قبل هر چیز
using System.Text.RegularExpressions;

کد:
public static string FormatHtmlAsPlainText (string stringToFormat)
{
if (stringToFormat == null || stringToFormat == string.Empty) return "";


stringToFormat = Regex.Replace(stringToFormat,"\n"," ",RegexOptions.IgnoreCase | RegexOptions.Compiled);


stringToFormat = Regex.Replace(stringToFormat,@"</?(br|p|li|blockquote)(\s/)?>","\n",RegexOptions.IgnoreCase | RegexOptions.Compiled);


stringToFormat = Regex.Replace(stringToFormat,@"</?(\w+)(\s*\w*\s*=\s*(""[^""]*""|'[^']'|[^>]*))*|/?>","",RegexOptions.IgnoreCase | RegexOptions.Compiled);


stringToFormat = stringToFormat.Replace("&nbsp;", " ");
stringToFormat = stringToFormat.Replace("&lt;", "<");
stringToFormat = stringToFormat.Replace("&gt;", ">");
stringToFormat = stringToFormat.Replace("&amp;", "&");
stringToFormat = stringToFormat.Replace("&quot;", "\"");

return stringToFormat;
}

msakbari
شنبه 17 تیر 1385, 18:00 عصر
دوست عزیر توصیه نمی شه که صفحات HTML سایتتون رو توی بانک اطلاعاتی ذخیره کنید .
حجم اطلاعات ورودی و خروجی بسیار زیاد می شه و سرور بانک اطلاعاتی رو خیلی کند می کنه .
در ضمن حجم بانک شما بسیار بزرگ می شه .

مرسی . موفق باشید .

Behrouz_Rad
شنبه 17 تیر 1385, 19:36 عصر
دوست عزیر توصیه نمی شه که صفحات HTML سایتتون رو توی بانک اطلاعاتی ذخیره کنید .
صفحه ی HTML ای در بانک ذخیره نمیشه!
اون چیزی که ذخیره میشه، محتویات متن وارد شده در Editor هست که برای حفظ فرمت باید به شکل HTML ذخیره بشه.

موفق باشید.

nazaninam
شنبه 17 تیر 1385, 19:47 عصر
از همه دوستان ممنون فکر کنم منظور msakbari هم همین تگ ها بود
محمد صادق میدونم که زیاد میشه اما چی کار میشه کرد؟؟
در ضمن از سالار سافت هم ممنون جالب بود

msakbari
شنبه 17 تیر 1385, 23:42 عصر
مرسی بهروز جان


صفحه ی HTML ای در بانک ذخیره نمیشه!
اون چیزی که ذخیره میشه، محتویات متن وارد شده در Editor هست که برای حفظ فرمت باید به شکل HTML ذخیره بشه.


اینو می دونم و می دونم که برای یه برنامه ای مثل Forum این روش مناسب و خوبه ولی اگر قرار شد مثل CMS ها هر صفحه ای که کاربر تو ادیتور می سازه وارد بانک اطلاعاتی بشه مشکل ساز خواهد شد . مثلا درسته که ما یک محتوای 50کیلوبایتی رو از SqlServer بگیریم ؟؟؟؟؟

دوست دارم از نظرات شما هم استفاده ببرم و البته سایر دوستان .(شاید راهکار بهتر ی هم باشه که فکر می کنم باشه )

مرسی

Behrouz_Rad
یک شنبه 18 تیر 1385, 19:38 عصر
مثل CMS ها هر صفحه ای که کاربر تو ادیتور می سازه وارد بانک اطلاعاتی بشه
کدوم Content Management System ای این کار رو می کنه؟

iekrang
شنبه 13 آبان 1385, 16:04 عصر
با استفاده از این کد تگ های Html حذف شده و متن ساده نمایش داده می شه.

اینم یه روش دیگه:


public static string RemoveHTML(string strText)
{
int nPos1;
int nPos2;
nPos1 = strText.IndexOf("<");
while (nPos1 != -1)
{
nPos2 = strText.IndexOf(">",nPos1 + 1);
if (nPos2 != -1)
{
strText = strText.Remove(nPos1,nPos2-nPos1+1);
}
else
{
return strText;
}
nPos1 = strText.IndexOf("<");
}
return strText;
}

من هر دو روش رو از نظر عملکرد چک کردم.فکر میکنم دومی کارآیی بیشتری داره.