تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] سؤال حول اقتطاع الجزء المختار
#1
لو اردنا اخذ الجزئية التالية:

من النص التالي:

<img src="http://vb4arb.com/vb/images/twilight/logo.png
فماذا نستخدم
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

إذا كانت لديك جملة وتريد اقتطاع هذا الجزء فاستعمل الكود التالي:
كود :
Dim Link As String = "<img src=""http://vb4arb.com/vb/images/twilight/logo.png"
        Link = Link.Substring(Link.IndexOf("""") + 1)

أما إذا كانت هذه الجملة ناتجة عن عملية Regex
فاستعمل الكود التالي:

كود :
Dim Page As String = "<img src=""http://vb4arb.com/vb/images/twilight/logo.png"
        Dim Reg As New Regex(""".*")
        Dim Ma As Match = Reg.Match(Page)
        Dim Link As String = Page.Substring(Ma.Index + 1, Ma.Length - 1)

بمعنى أنك ستستعمل الأمرين

Ma.Index ووظيفته مؤشر لبداية النص المطلوب من الجملة
Ma.Length ووظيفته طول النص المطلوب
الرد }}}
تم الشكر بواسطة: سعود , kslawy
#3
بطريقة أخرى :

PHP كود :
Dim mch As Match Regex.Match("<img src=""http://vb4arb.com/vb/images/twilight/logo.jpg""http://vb4arb\.com/vb/images/twilight/logo\.(png|jpg|gif)"RegexOptions.IgnoreCase)
        If 
mch.Success Then
            MsgBox
(mch.Value)
        
End If 

طريقة أخرى لاستخراج أي رابط انظر للتعديل في الباترن :

PHP كود :
Dim mch As Match Regex.Match("<img src=""http://vb4arb.com/vb/images/twilight/logo.jpg""http:.*\.(png|jpg|gif)"RegexOptions.IgnoreCase
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة: سعود , sooriaty03
#4
اذا استخلصنا روابط بالمعيار التالي
(<img src=).*\.(png|gif|jpg|jpeg)
ينتج عنه نص كيف نتعامل معه لكي نحمل الصورة
لان فيه روابط كاملة وفيه فقط للمجلد الخاص بالصور

ممتاز الان تمت الفكرة بالنسبة للرابط الكامل للصورة لكن كيف مع الرابط الجزئي مثل

/images/anyimage.png
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله وبركاته

يجب التأكد بجملة شرطية
فإذا كان لا يبدأ بكلمة http
فإذن تضيف إليها
كود :
http://vb4arb.com/vb
الرد }}}
تم الشكر بواسطة: سعود , kslawy
#6
طيب سؤال اخر
لو حبيت اخذ فقط اسم الملف يعني بعد اخر شرطة مائلة كيف؟؟
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم ورحمة الله وبركاته

PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim mch 
As Match Regex.Match("<img src=""http://vb4arb.com/vb/images/twilight/logo.jpg""http:.*\.(png|jpg|gif)"RegexOptions.IgnoreCase)
        If 
mch.Success Then
            
'' MsgBox(mch.Value)
            
MsgBox(IO.Path.GetFileName(mch.Value))
        
End If
    
End Sub 

توجد طريقة أخرى وذلك بتقسيم النص حسب الشرطة المائلة ثم أخذ آخر جزء .
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة: Abu Ehab , سعود , الشاكي لله
#8
بارك الله فيك اخوي
لكن بعد استخلاص الرابط يعني رابط عادي مثل التالي:
"http://vb4arb.com/vb/images/twilight/logo.jpg
اتوقع انها سهلة

هل الكود التالي صحيح لو كان الرابط مستخلص وجاهز
كود :
Dim a As String = "http://vb4arb.com/vb/images/twilight/loaaaaaaaaaaaaago.jpg"
        MsgBox(IO.Path.GetFileName(a))
جربته وتمام بس ودي اتاكدSmile

استخدمته وبدا فعلا بالتحميل بالاسماء الحقيقية لكن بعد قليل
Illegal characters in path.

والرسالة هذي
An exception occurred during a WebClient request.
لما جربت الكود التالي
fn = piclink.Substring(piclink.LastIndexOf("/") + 1)
الرد }}}
تم الشكر بواسطة:
#9
عرفت الاشكالية!!
حروف عربية باحدى الصور
اقصد اسم ملف الصورة بحروف عربيةSad
الرد }}}
تم الشكر بواسطة: kslawy
#10
السلام عليكم ورحمة الله وبركاته

المشكلة في الأسماء العربية أنها تكون بترميز UTF-8 ولتحويله إلى الترميز الافتراضي
استعمل الكود التالي

كود :
Dim b() As Byte = (From C As Char In FileName.ToCharArray Select CByte(AscW(C))).ToArray
FileName = System.Text.Encoding.UTF8.GetString(b)
الرد }}}
تم الشكر بواسطة: سعود , kslawy , الشاكي لله



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم