عبارات با قاعده و اضافه کردن عبارت به وسط رشته

itgate.ir

Member
سلام بر دوستان عزیز

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

HTML:
some text http://www.example.com continue of the text
برای مثال فرض کنید در رشته ای نسبتا طولانی آدرس یک سایت رو با شکل : http://www.example.com داریم و می خوایم با جاوااسکریپ هر جا که یه همچین آدرسی داریم، به ابتدا و انتهای همین الگو یه چیزی (مثل تگ a ) رو اضافه کنیم و رشته مون به این شکل مثلا در بیاد:
HTML:
some text <a href="http://www.example.com">http://www.example.com</a> continue of the text

راه حل بهینه ای برای انجام این روش سراغ دارین؟
 
آخرین ویرایش:

eAmin

Well-Known Member
سلام.

از این کد می تونید در جاوااسکریپت استفاده کنید، البته پترن ارائه شده در زبانهای برنامه نویسی دیگه قابلیت اجرا شدن رو داره، درصورتی که از RegExp مطابق با استاندارد perl پشتیبانی کنه.
کد:
var str = "some text http://example.com continue of the text";
str.replace(/(https?:\/\/(?:www\.)?[a-z0-9]+\.[a-z]{2,4})/ig, '<a href="$1">$1</a>');

موفق باشید.
 

itgate.ir

Member
بابت پاسخ ممنونم

برای متن های طولانی پردازش رو سنگین نمیکنه؟
و اگه چند تا آدرس داشته باشه چی؟
 

eAmin

Well-Known Member
برای متن های طولانی پردازش رو سنگین نمیکنه؟
و اگه چند تا آدرس داشته باشه چی؟
کمی تا قسمتی! سمت کلاینت زیاد محسوس نیست، ولی در سرور طبیعتا منابعی رو می طلبه.
مشکلی نیست، فلگ g برای همین منظور استفاده شده ( البته در JavaScript ) تا هر آدرس اینترنتی که پیدا کرد، عملیات تبدیل رو انجام بده.
 

جدیدترین ارسال ها

بالا