نمایش نتایج 1 تا 7 از 7

نام تاپیک: ایجاد کردن SlugUrl

  1. #1

    ایجاد کردن SlugUrl

    سلام دوستان
    چجوری میشه از روی عنوان تولید Url کرد؟
    مثلا فرض کنید عنوان یک مطلب این هست

    آموزش asp.net به زبان فارسی بخش 1/2
    اگه دقیت کنید همه چی در عنوان بالا داریم
    من می خوام کاراکتر های غیر مجاز در رشته حذف بشه و به جای فضای خالی - قرار بگیره

    مثلا اون # حذف بشه
    نقطه بعد از asp حذف بشه
    و در نهایت این بشه
    آموزش-asp-net-به-زبان-فارسی-بخش-1-5
    یه سری کاراکتر های غیر مجاز مثل !@#$%^&*)( نمیخوام توی آدرس باشه

    ممکنه بعضی وقتا آدرس تمامش انگلیسی باشه
    بعضی وقتا فارسی
    و یا ترکیبی از هر دو و اعداد

  2. #2

    نقل قول: ایجاد کردن SlugUrl

    از این regex میتونید روی title استفاده کنید و slug رو بسازید :

    /[^\w\s]+/gu


    نمونه : https://regex101.com/r/YICDDq/2

    برای جایگزین کردن space با - هم از string.Replace استفاده کنید.

  3. #3

    نقل قول: ایجاد کردن SlugUrl

    ممنون
    از طریق دستور زیر اجراش کردم اما عمل نکرد

    str = Regex.Replace(str, "/[^\\w\\s]+/gu", "");

  4. #4

    نقل قول: ایجاد کردن SlugUrl

    از این Extension Method استفاده کنید :

    public static class StringExtensions
    {
    public static string ToSlug(this string text)
    {
    var slug = new Regex(@"[^\w\s]+").Replace(text, "-");
    return RemoveLastDash(slug).Replace("_", "-");
    }


    private static string RemoveLastDash(string slug)
    {
    var textLength = slug.Length - 1;
    var lastChar = slug[textLength];
    if (lastChar == '-')
    {
    slug = new StringBuilder(slug)
    {
    [textLength] = '\0'
    }.ToString();
    }


    return slug;
    }
    }

  5. #5

    نقل قول: ایجاد کردن SlugUrl

    با سلام و کسب اجازه از آقای تاجیک بنده متد ایجاد slug رو به صورت کامل تر قرار میدم .



    private const int MaxLenghtSlug = 45;
    public static string GenerateSlug(string title)
    {
    var slug = RemoveAccent(title).ToLower();
    slug = Regex.Replace(slug, @"[^a-z0-9-\u0600-\u06FF]", "-");
    slug = Regex.Replace(slug, @"\s+", "-").Trim();
    slug = Regex.Replace(slug, @"-+", "-");
    slug = slug.Substring(0, slug.Length <= MaxLenghtSlug ? slug.Length : MaxLenghtSlug).Trim();

    return slug;
    }

    private static string RemoveAccent(string text)
    {
    var bytes = Encoding.GetEncoding("UTF-8").GetBytes(text);
    return Encoding.UTF8.GetString(bytes);
    }


  6. #6

    نقل قول: ایجاد کردن SlugUrl

    از زحمات شما متشکرم. ولی کاش راهنمایی می کردید که چه طور slug رو در url قرار بدیم که مثلا به صورت زیر بشه
    http://mysite.com/22/this-is-test
    اگر در این مورد نمونه کد دارید یا تجربه ای دارید ممنون می شم به اشتراک بگذارید. تشکر

  7. #7

    نقل قول: ایجاد کردن SlugUrl

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



    routes.MapRoute(
    name: "areas",
    template: "{area:exists}/{controller=Account}/{action=Index}/{id?}/{slug?}");




    بعد هر جایی میخوایید هرجایی میخوایید slug داشته باشید به صورت رووت بهش پاس میدید !

تاپیک های مشابه

  1. ایجاد کردن یک سیستم cache
    نوشته شده توسط abbasazarpikan در بخش شبکه و Networking‌
    پاسخ: 1
    آخرین پست: یک شنبه 19 شهریور 1385, 16:47 عصر
  2. ایجاد کردن شئی های جدول (مقاله)
    نوشته شده توسط بابک زواری در بخش SQL Server
    پاسخ: 1
    آخرین پست: پنج شنبه 10 آذر 1384, 17:53 عصر
  3. ایجاد کردن Check Constraint (مقاله)
    نوشته شده توسط بابک زواری در بخش SQL Server
    پاسخ: 1
    آخرین پست: پنج شنبه 10 آذر 1384, 17:51 عصر
  4. کمک :ایجاد کردن یک یوزر در گروه ادمین
    نوشته شده توسط danial82 در بخش امنیت در شبکه
    پاسخ: 18
    آخرین پست: شنبه 19 شهریور 1384, 15:09 عصر
  5. ایجاد کردن و نوشتن بر روی یک فایل
    نوشته شده توسط آزیتا نبی زاده در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: یک شنبه 23 مرداد 1384, 17:44 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •