PDA

View Full Version : سوال: عبارات منظم فارسی



iman_pc_love
شنبه 04 اردیبهشت 1389, 14:54 عصر
میخاستم ببینم آیا میشه با تابع preg_match عبارات فارسی رو هم به کار برد؟
آگه میشه چطوری و اگه نمیشه، پس برای کنترل فرم های فارسی چکار باید کرد؟

yasgig
شنبه 04 اردیبهشت 1389, 18:21 عصر
آره میشه.فقط کافیه بگی که واسه چه کاری میخوای تا یه نمونه بهت بدم.

iman_pc_love
شنبه 04 اردیبهشت 1389, 20:48 عصر
مثلا یه نمونه برای دریافت نام کاربران که فقط شامل حروف است

yasgig
شنبه 04 اردیبهشت 1389, 23:19 عصر
<?php
$content = '<table border="1" width="100%" id="table1"><tr><td>سایت یاس گیگ</td></tr></table>';
if( preg_match( '/<td>(.*?)<\/td>/si' , $content , $Match ) )
{
echo $Match[1];
}
?>
با این کد می تونین هر قسمت از سورس یه صفحه رو استخراج کنید.مثلا من با این تابع که خیلی ساده هست واستون از اون سورسی که واسه نمونه در متغییر $content ذخیره کرده بودم اون بخش فارسی رو نشون دادم.کار باهاش خیلی راحته فقط کافیه یه عبارت منظم پیدا کنید.

صابر طهماسبی
یک شنبه 05 اردیبهشت 1389, 21:18 عصر
<?php
$content = '<table border="1" width="100%" id="table1"><tr><td>سایت یاس گیگ</td></tr></table>';
if( preg_match( '/<td>(.*?)<\/td>/si' , $content , $Match ) )
{
echo $Match[1];
}
?>با این کد می تونین هر قسمت از سورس یه صفحه رو استخراج کنید

سلام

البته این نکته را هم در نظر داشته باشید که در مثال بالا اگر دو تگ td داشته باشید دیگر عبارت منظم کار نمی کند
نه اینکه عبارت منظم شما ناقص باشد بلکه این یکی از نقایص عبارات منظم است.
شرح تفصیلی این نکته را می توانید در لینک زیر بخوانید:


http://www.regular-expressions.info/examples.html

iman_pc_love
یک شنبه 05 اردیبهشت 1389, 21:51 عصر
یه راه سر راست تر نداره؟ بدون این تگ

yasgig
یک شنبه 05 اردیبهشت 1389, 23:15 عصر
درسته ولی باید منظم ترینشو پیدا کنیم.در ضمن می تونیم با چند تا preg_match پشت سر هم عبارت مورد نظر خودمون رو بدست بیاریم.