سوال های تصادفی





جستجو در بانک سوالات
در این قسمت می توانید بخشی از متن سوال را وارد نموده و به دنبال سوال مورد نظر خود بگردید:

بخشی از متن سوال:

حذف تگ های html از یک رشته (string)

چطور میشه در زبان سی شارپ C# یک رشته (string) رو از تگ های html خالی کرد؟



0
امتیاز

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


ازین پس می توانید به کاربرانی که دوست دارید هدیه بدهید! کافیست بر روی علامت    در کنار تصویر آنها کلیک کنید!

5


جواب برای این سوال ثبت شده است!

تازه ترین


جواب ها رو اول نشون بده

پرامتیاز ترین


جواب ها رو اول نشون بده

5 جواب برای این سوال ثبت شده!

چینش بر اساس زمان ثبت


چینش بر اساس امتیاز



0
24245
0

.:.sojaAI.:.

راه‌های مختلفی برای حذف تگ‌های HTML از یک رشته در زبان برنامه‌نویسی C# وجود داره. یکی از راه‌های معمول استفاده از کتابخانه‌های آماده و یا ایجاد یک تابع خودکار که با استفاده از عبارت‌های منظم (Regular Expressions) تگ‌ها رو شناسایی و حذف کنه. در زیر یک مثال ساده از نحوه انجام این کار رو نشون میدم:


 
using System.Text.RegularExpressions;

public static string RemoveHtmlTags(string input)
{
return Regex.Replace(input, "<.*?>", String.Empty);
}

تو این مثال، متد `RemoveHtmlTags`با استفاده از `Regex.Replace`، تمام کاراکترهایی که بین `<` و `>` قرار دارن رو با رشته خالی (`String.Empty`) جایگزین می‌کنه که در نتیجه تگ‌های HTML از رشته حذف می‌شوند.

توجه داشته باش که استفاده از عبارت‌های منظم ممکنه در مواردی که تگ‌های HTML پیچیده‌تر باشند یا اگه محتوای درون تگ شبیه به تگ HTML باشه، کارایی لازم رو نداشته باشه و ممکنه نیاز به پیاده‌سازی روش‌های پیچیده‌تر باشه.

امیدوارم که پاسخم برات مفید بوده باشه.




به یاد داشته باش که همیشه قبل از استفاده از عبارت‌های منظم باید به دقت تست‌های لازم رو انجام بدی تا از صحت عملکرد اون در شرایط مختلف اطمینان حاصل کنی!

جویا ، ربات باهوش سایت سوال و جواب
لطفاً توجه داشته باشید این پاسخ توسط هوش مصنوعی و به صورت خودکار تولید شده و ممکن است دقت کامل را نداشته باشد و حتی در مواردی کاملا اشتباه باشد. پس اطلاعات آن را حتما خودتان بررسی کنید و برای مشاوره حرفه‌ای، لطفاً به یک متخصص مراجعه کنید. ما مسئولیتی در قبال استفاده از اطلاعات ارائه شده در این جواب یا جواب های دیگر نداریم.
0
امتیاز


29678
10019
89548

Guest


 

/// <summary>
/// Remove HTML tags from string using char array.
/// </summary>
public static string StripTagsCharArray(string source)
{
char[] array = new char[source.Length];
int arrayIndex = 0;
bool inside = false;

for (int i = 0; i < source.Length; i++)
{
char let = source[i];
if (let == '<')
{
inside = true;
continue;
}
if (let == '>')
{
inside = false;
continue;
}
if (!inside)
{
array[arrayIndex] = let;
arrayIndex++;
}
}
return new string(array, 0, arrayIndex);
}
}
0
امتیاز


29678
10019
89548

Guest


 using System;
using System.Text.RegularExpressions;

/// <summary>
/// Methods to remove HTML from strings.
/// </summary>
public static class HtmlRemoval
{
/// <summary>
/// Remove HTML from string with Regex.
/// </summary>
public static string StripTagsRegex(string source)
{
return Regex.Replace(source, "<.*?>", string.Empty);
}

/// <summary>
/// Compiled regular expression for performance.
/// </summary>
static Regex _htmlRegex = new Regex("<.*?>", RegexOptions.Compiled);

/// <summary>
/// Remove HTML from string with compiled Regex.
/// </summary>
public static string StripTagsRegexCompiled(string source)
{
return _htmlRegex.Replace(source, string.Empty);
}


}
0
امتیاز


29678
10019
89548

Guest

کلاس زیر هم این کار رو با سه نوع روش متفاوت انجام میده، تست کارایی نشون داده که روش سوم سریع تر هستش:
HtmlRemoval.StripTagsRegex: 2404 ms
HtmlRemoval.StripTagsRegexCompiled: 1366 ms
HtmlRemoval.StripTagsCharArray: 287 ms

0
امتیاز


29678
10019
89548

Guest

می تونی از تابع زیر استفاده کنی:

  public static string StripHTML(string htmlString)
{

string pattern = @"<(.|\n)*?>";

return Regex.Replace(htmlString, pattern, string.Empty);
}
0
امتیاز




جواب تو چیه؟
userImage
کاربر میهمان




پرسش سوال جدید :: تبلیغات در سوال و جواب :: گروه های سوال و جوابی

تمامی حقوق مادی و معنوی، متعلق به وب سایت سوال جواب (soja.ai) و تیم مدیریتی آن می باشد.

طراحی و اجرا : گروه مشاوران فناوری اطلاعات

پاسخ های موجود در سایت توسط کاربران سایت ثبت می شود،
سایت سوال و جواب هیچ مسئولیتی در قبال صحت و محتوی پاسخ ها ندارد، هرچند تا حد امکان نظارت بر محتوی آنها صورت می گیرد.