لاجک برائے ٹیکسٹ -ایچ ٹی ایم ایل ٹیبل کنورٹر

(پروگرامر حضرات کے لیے)
اس صفحے پر موجود نوٹ پیڈ پلس پلس کے ذریعے مسئلۂ ھذا کو حل کرنے کا طریقہ ملاحظہ کیجیے۔ بلکہ یہ صفحہ بھی کھول کر رکھیے۔ اسی کی طرز پر یہاں بھی ریگولر ایکسپریشنز کا استعمال کرتے ہوئے  ہم نے یہ ٹول بنایا ہے۔

لاجک

پہلے جو متن یوزر نے ہماری بات پر عمل کرتے ہوئے خانۂ اول میں ڈالا، اسے ہم نے  ایک ”اسٹرنگ“ ویری ایبل میں درج کر لیا۔ پھر اس اسٹرنگ پر یکے بعد دیگرے دونوں کام کیے۔ 
  1. ہر لائن کے آخر کے ٹیگ لگانا
  2. شروع اور آخر کے ٹیگ لگانا
تو پہلا کام- ہر لائن کے آخر میں  ہمیں کچھ ٹیگز کا اضافہ کرنا ہے۔ لائن کے آخر میں لائن بریکLB ( r\ ) اور نیو لائن NL (  \n)وغیرہ  کا کامبی نیشن ہو سکتا ہے، اسے ہم نے ٹیگز سے تبدیل کر دیا۔
strIn = strIn.replace(/\r?\n|\r/g,"</td></tr>\n<tr><td>");

دوسرا کام - اس کے بعد شروع اور آخر کے ٹیگز لگانے ہیں جو اسٹرنگ کانکیٹ نیشن سے باآسانی ہو سکتا ہے۔ 
strIn = "<table>\n<tr><td>"+strIn+"</td></tr>\n</table>";

نوٹ پیڈ سے کرنے پر کوڈ کا لُک اچھا نہیں تھا، اس کے لیے ہم نے بیچ بیچ میں نیو لائن کا اضافہ کر دیا ہے۔ اب آؤٹ پٹ صاف ستھرا آئے گا۔


اور پھر ہلکی پھلکی ایرر ہینڈلنگ

چونکہ یوزر ضروری نہیں کہ صرف متن ہی پیسٹ کرے، چنانچہ آخری مرحلے میں کچھ کنڈیشنزکا اضافہ کیا گیا۔
  • یوزر کی ڈالی گئی شروع یا درمیان کی ساری خالی لائنز غائب ہو جائیں۔
  • اگر یوزر نے متن ڈالے بغیر ہی کنورٹ کرنا چاہا تو اسے جھاڑ پلائی جائے۔ 

لاجک کا مکمل کوڈ

کل ملا کر لاجک یہ رہا:

 function tabulate(strIn){
    strIn = strIn.replace(/[\r\n]+/g, "\n").replace(/^\s+|\s+$/g, "").replace(/\r?\n|\r/g,"</td></tr>\n<tr><td>");
    if(strIn.length!="")
    return "<table>\n<tr><td>"+strIn+"</td></tr>\n</table>";
    else
    return "متن کے خانے میں کچھ پیسٹ تو کیجیے۔";
  }

پریٹی سمپل ہنہ؟ اگر آپ بھی پروگرامر ہیں تو آپ بھی اردو پروگرامنگ میں اپنا حصہ ڈالیے۔ جو بھی مسئلہ درپیش ہو اسے پروگرامنگ سے حل کرنے کی فکر کیا کیجیے۔ ٹھیک ہے؟
ٹھیک۔ چلیں پھر۔ ٹاٹا۔

تبصرے

شکیبؔ احمد

بلاگر | ڈیویلپر | ادیب از کامٹی، الہند

تبصرے کی زینت کے لیے ایڈیٹر استعمال کا طریقہ تفصیل

مشہور اشاعتیں

تازہ نگارشات

میری شاعری

نگہِ من - میرا فلسفہ