تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة ضم نص لرقم مثل(forum-325.html)
#1
السلام عليكم ورحمة الله وبركاته
احاول بفكرة بسيطة وهي جلب روابط وتغيير بنيتها من مثلا 
forumdisplay.php?fid=456
واستخدمت regex لقنص الرقم الاخير لاوهو التالي:
PHP كود :
           '  Dim str As String = "([forumdisplay|showthread]{1,}\.[html|php]{1,}\?fid=)([0-9]{1,})"
            ' 
 Dim reg As New Regex(strRegexOptions.IgnoreCase)
 
           ' Dim ma As Match = reg.Match(href.Attributes("href").Value) 
الرقم ضمن الـ 

كود :
group(2)


الان الخطوة التالية  تكمن فيها المشكلة
PHP كود :
htmlfile htmlfile.Replace(ma.Value"forum-" ma.Groups(2).Value ".html"

المشكلة حين احاول صياغة نص هكذا
كود :
forum-325.html
اجدها ضمن صفحة html المتولدة  هكذا
كود :
(forum-3.html25)

ملاحظة حين يكون الرقم خانة او خانتين فقط لامشكلة وانما المشكلة ثلاث خانات.
اني متشوق لمعرفة الخطا لانها قديمة  ولا ادري كيف احلها.
}}}
تم الشكر بواسطة:
#2
كود :
htmlfile=Regex.Replace(htmlfile,"([forumdisplay|showthread]{1,}\.[html|php]{1,}\?fid=)(\d+)","forum-$2.html")
}}}
تم الشكر بواسطة: سعود , سعود , Amir_Alzubidy , Anas Mahmoud
#3
(01-07-17, 12:40 AM)S129 كتب :
كود :
htmlfile=Regex.Replace(htmlfile,"([forumdisplay|showthread]{1,}\.[html|php]{1,}\?fid=)(\d+)","forum-$2.html")

حل معجز بصراحة 
ماهو سر علامة $ و رقم 2
ماشاء الله
}}}
تم الشكر بواسطة: Amir_Alzubidy
#4
   
}}}
تم الشكر بواسطة: سعود , Amir_Alzubidy
#5
اللينك مثلها مثل اسم الملف لها امتاد
وأحيانا عليك أن تستخدم الدوال Split و Remove و Replace و PadLeft و PadRight
لبناء String
}}}
تم الشكر بواسطة: سعود , سعود , Amir_Alzubidy
#6
النص التالي:
forumdisplay.php?fid=183&page=5
اذا اردنا رقمين منه القسم والصفحة هل العبارة التالية صحيحة؟
PHP كود :
thtml Regex.Replace(thtml"([forumdisplay|showthread]{1,}\.[html|php]{1,}\?tid=)(\d+)&page=(\d+)""thread-$2-page-$3.html"
واذا لم توجد غالبا هل هناك تعديل بحيث استخدم سطر واحد من الــregex
}}}
تم الشكر بواسطة:
#7
كود :
thtml = Regex.Replace(thtml, "([forumdisplay|showthread]{1,}\.[html|php]{1,}\?fid=)(\d+)&page=(\d+)", "thread-$2-page-$3.html")

forumdisplay.php?fid=183&page=5

كود :
thtml = Regex.Replace(thtml, "[forumdisplay|showthread]{1,}\.[html|php]{1,}\?fid=(\d+)&page=(\d+)", "thread-$1-page-$2.html")

Regex.Replace: (...) = $
}}}
تم الشكر بواسطة: سعود , سعود , Amir_Alzubidy
#8
الصراحة اني متعب نفسي مدة طويلة جدا والحل بكود بسيط جدا جدا.
}}}
تم الشكر بواسطة:



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


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