![]() |
|
[كود] كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [كود] كيف يتم التعديل على كل الروابط وليس اخر رابط موجود (/showthread.php?tid=538) |
كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - سعود - 14-10-13 اخواني الاعزاء .. لدي هذا الكود كود : If My.Computer.FileSystem.FileExists(lbldir.Text & "threads\thread_" & a & ".htm") = False Thenادري ان الكود طويل لكن ارجو النظر فيه ومعرفة لماذا يتم فقط تعديل اخر رابط بالصفحة يعني لو لدينا صفحة فيها عدة روابط للمرفقات فانه بناء على هذا الكود يتم استبدال اخر رابط ولو لم يوجد الا مرفق واحد يتم العمل كيف اعدل على الكود ليتم العمل بشكل صحيح يعني اظن ولا ادري انه لغز بسيط بالنسبة لكم لكنه اتعبني RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - الشاكي لله - 14-10-13 أخي سعود ما أقول إلا انك معقد نفسك بالRegas لو استعملت طريقتي كنت ريحت نفسك RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - سعود - 14-10-13 إقتباس :لو استعملت طريقتي كنت ريحت نفسكبس ياخوي الاداة ليست مرنة او اني لم اتمكن من تطويعها RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - الشاكي لله - 14-10-13 (14-10-13, 01:33 AM)سعود كتب :إقتباس :لو استعملت طريقتي كنت ريحت نفسكبس ياخوي الاداة ليست مرنة او اني لم اتمكن من تطويعها هل مرنة بشكل كبير وانا اتعامل معاها منذ زمنرطويل فيما يخص Html شوف هذي الردود الى كتبتها كلها اعتمدت على الاداة لو اني استخدمت الRegex كان الكود صار طويل ونتيجته غير مضمونة 1 http://vb4arb.com/vb/showthread.php?tid=299&pid=1541#pid1541 2 http://vb4arb.com/vb/showthread.php?tid=379&pid=1761#pid1761 3 http://vb4arb.com/vb/showthread.php?tid=530&pid=2524#pid2524 شوف الردود وعطني رايك (هل يمكنك عمل هذه البرامج بكود قصير باستعمال Regex ؟) -- بأكواد بسيطة يمكنني عمل استخلاص واستبدال وتعديل مااريده من صفحة html فلا تقارن regex ب HtmlAligityPack من ناحية التعامل Html RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - سعود - 14-10-13 عدلت بالكود وصار العكس يحمل اول مرفق ويستبدل الرابط ![]() ![]() ![]() صدقني كلها سوى بالصعوبة ![]() بعدين الرابط اللي هنا http://vb4arb.com/vb/showthread.php?tid=379&pid=1761#pid1761 هذا لو صار الرابط كله معلوم لكن لو حبيت العملية تتم بشكل اوتوماتيكي اظن ستحتاج ..... RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - الشاكي لله - 14-10-13 (14-10-13, 02:21 AM)سعود كتب : عدلت بالكود وصار العكس يحمل اول مرفق ويستبدل الرابط اي رابط قصدك تدري .. انا اسحب ايدي من هالموضوع .. اتعقدت نفسيا !!! لحد الان من موضوعك الاول انا موفاهم ويش قاعد تسوي !! RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - sooriaty03 - 14-10-13 السلام عليكم ورحمة الله وبركاته أخي سعود الكود بالفعل معقد جدا خلينا نحله سوى ببساطة أولا نريد تعريف Regex للبحث عن المرفقات فيجب أن نصيغ جملة الشرط هذا كود المرفقات كود : <a href="[align=left]attachment.php?aid=304[/align]" target="_blank">SaveAttachment.zip</a>نأتي لصيغة الـ Regex كود : attachment\.php\?aid=[0-9]{1,}" target="_blank">ثانيا بعد وضع قاعدة Regex ، نقوم بعمل حلقة تكرارية للبحث في كامل الكود بالكود التالي كود : Dim Reg As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("attachment\.php\?aid=[0-9]{1,}"" target=""_blank"">")ثالثا/ داخل الحلقة التكرارية نقوم باستخلاص الروابط - إن وجدت - طبعا نحن لا يهمنا إلا النص التالي كود : attachment.php?aid=304وطريقة استخلاصه تكون بهذا الكود كود : Dim AttachLink As String = html.Substring(Reg0.Index, Reg0.Length).Split("""")(0)الآن نقوم بتحميل المرفق بعد إضافة إليه النص http://vb4arb.com/vb/ وأخيرا نأتي إلى استبدال الرابط داخل صفحة الانترنت برابط المرفق على الجهاز على فرض أننا قمنا بتسمية المرفق s.zip فنكتب كود : html = html.Replace(AttachLink, "s.zip")فيصبح الكود النهائي كود : Dim Reg As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("attachment\.php\?aid=[0-9]{1,}"" target=""_blank"">")RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - سعود - 14-10-13 بارك الله فيك اخوي هل يمكن اسم المرفق لتكتمل مع رابط المرفق RE: كيف يتم التعديل على كل الروابط وليس اخر رابط موجود - sooriaty03 - 14-10-13 السلام عليكم ورحمة الله وبركاته تفضل أخي هذا كود الدالة كود : Private Function AttachDownload(ByVal URL As String) As Stringوعدل الكود في المشاركة السابقة ليصبح على الشكل التالي كود : Dim Reg As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("attachment\.php\?aid=[0-9]{1,}"" target=""_blank"">")بالتوفيق |