PDA

View Full Version : کجای این pattern اشتباست.کمک می کنید؟



HttpRequest
جمعه 09 مرداد 1394, 15:23 عصر
سلام
من pattern زیر رو نوشتم برای rewrite کردن آدرس ها.
RewriteRule ^gallery/([1-9][0-9][-]
)\.html$ gallery/show.php?n=$1 [NC,L]

می خوام بطور مثال با آدرس زیر تطابق داشته باشه

http://www.mysite.com/gallery/1-پارک.html

مطمئنم که تو قسمت تطبیق رشته متنی ش اشتباه کردم.نمی دونم برای کاراکترهای فارسی چی باید گذاشت! قسمت نام فایل باید یه شماره یک یا دو رقمی دو رقمی باشه و بعدش - و بعدش نام محل که اون هم فارسیه.
میشه راهنمایی کنید که چیکار کنم تا درست بشه.

با تشکر

H:Shojaei
جمعه 09 مرداد 1394, 19:10 عصر
[1-9][0-9]

میگه دوتا عدد پشت سر هم باید باشه در صورتی که شما همچین چیزی ندارید و گاهی یک عدده...
این رو بنویسید به جاش شاید درست بشه:

[0-9]+

HttpRequest
جمعه 09 مرداد 1394, 20:52 عصر
خوب اینکه میشه 1 رقم یا بیشتر.من می گم 1 یا دو رقم. البته نکته ای که اشاره کردید بجا بود.الان به جای بالایی زدم

[1-9][0-9]*

برای تطبیق با کاراکتر های فارسی از \w باید استفاده کنیم؟

yii2dev
شنبه 10 مرداد 1394, 01:24 صبح
نه برای فارسی باید کل حروف فارسی رو توی [] بنویسید. ضمناً برای 1 یا 2 رقم باید بنویسید [1-9][0-9]?

HttpRequest
شنبه 10 مرداد 1394, 21:45 عصر
نه برای فارسی باید کل حروف فارسی رو توی [] بنویسید. ضمناً برای 1 یا 2 رقم باید بنویسید [1-9][0-9]?

الان این خط رو نوشتم ولی هنوز جواب نمیده.s\ رو هم اضافه کردم برای تطبیق با space.


RewriteRule ^gallery/([1-9][0-9]?[-][پچجحخهعغفقثصضگکمنتالبیسشو دذرزطظ\s]+)\.html$ gallery/show.php?n=$1 [NC,L]

این یه نمونه از لینک هایی که باید تطبیق کنه

http://localhost/mysite/gallery/5-دانشگاه آزاد کرج.html