PDA

View Full Version : سوال: چگونه یوآرال های موجود در یک متن را لینک دار کنیم



علیرضا5
دوشنبه 07 مهر 1399, 19:53 عصر
سلام دوستان
من یک لیبل متن دارم حالا تو این لیبل چند تا ادرس وب هست چیکار کنم که موقع اجرا این ادرس ها تبدیل به لینک بشن

یعنی مثلا در متن زیر divar.ir جوری بشه که کاربر روش بتونه کلیک بکنه و سایتش بازبشه

سایت divar.ir عالی است

Tekyegah
چهارشنبه 09 مهر 1399, 01:04 صبح
سلام
اگه نمیخواین توی متنتون http استفاده بشه به عنوان آدرس و همین divar.ir باشه ....

باید .ir و .com و .net و... رو به عنوان یه کلید در نظر بگیری .

توی متنت جستجو کنی این کلید ها رو وفتی بهش رسید تبدیلش کنی به یه لینک .

روش های مختلفی هست که این کار رو کنی مثلا بیای یه آرایه از نوع رشته تعریف کنی ، بعد متن رو بریزی توی اون آرایه split رو هم بر اساس space بذاری
حالا شما یه آرایه داری که تمامی کلمات توی اون هست

array[0] = سایت
array[1] = divar.ir
array[2] = عالی
array[3] = است

حالا باید توی تمام آرایه ها چک کنی اگه همون کلیدهایی که گفتم داره رو یه Replace بزنی :



strlink = "<a href={Link}>{Link}</a>";

array[1] = Replace(strlink ,"{Link}",array[1] );


بعد آرایه رو به هم بچسبون حواست به space که اول کار حذف کردی هم داشته باش ... توی وب ههم خواستی قرارش بدی باید .innerhtml قرارش بدی که تگ های html بشیه رو صفحه .

علیرضا5
چهارشنبه 09 مهر 1399, 11:50 صبح
خیر توی قسمت چت سایت هست که ممکنه کاربرا هرجور لینکی بگذارند

Tekyegah
سه شنبه 15 مهر 1399, 12:27 عصر
خیر توی قسمت چت سایت هست که ممکنه کاربرا هرجور لینکی بگذارند

چه ربطی داره ! هر کسی هر جایی هر لینکی میتونه بذاره . بحث روی روش انجام هست نه چت روم یا وبلاگ یا متن آگهی !

واسه اون چت رومتون هم باید بیاید کلماتی رو تعریف کنید که چک کنه اگه توی اون متن بود ... به مدیریت هشدار بده که بره بررسیش کنه .

علیرضا5
دوشنبه 12 آبان 1399, 22:04 عصر
دوستان جواب این سوال رو پیدا کردم گفتم بگذارم اینجا برا هرکسی که احیانا ممکنه نیاز داشته باشه



string txt = "this is my url https://bazarefori.ir/%D9%85%D8%B4%D8%AE%D8%B5%D8%A7%D8%AA-%D9%82%DB%8C%D9%85%D8%AA-%D9%88-%D8%AE%D8%B1%DB%8C%D8%AF-%D8%AF%D9%85%D9%86%D9%88%D8%B4-%DA%AF%DB%8C%D8%A7%D9%87%DB%8C-%D9%82%D8%A7%D8%B4%D9%82%DB%8C-%D8%AF%DA%A9%D8%AA%D8%B1-%D8%A8%DB%8C%D8%B2-%D8%A8%D8%B3%D8%AA%D9%87-16-%D8%B9%D8%AF%D8%AF%DB%8C-%D8%A7%D8%B5%D9%81%D9%87%D8%A7%D9%86-%D8%A7%D8%B5%D9%81%D9%87%D8%A7%D9%86--%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-%D9%81%D9%88%D8%B1%DB%8C/show/72372/ and visit this website and this is my url http://www.yahoo.com";
Regex regx = new Regex(@"(http|ftp|https):\/\/([\w\-_]+(?:(?:\.[\w\-_]+)+))([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?", RegexOptions.IgnoreCase);
MatchCollection mactches = regx.Matches(txt);
foreach (Match match in mactches)
{
txt = txt.Replace(match.Value, "<a href='" + match.Value + "'>" + match.Value + "</a>");
}
aaa.InnerHtml = txt;