PDA

View Full Version : سوال: جدا کردن متن انگلیسی از فارسی با Regular Expression



maysam.m
یک شنبه 08 مرداد 1391, 21:27 عصر
سلام

من با این کد متن انگلیسی رو از فارسی جدا میکنم :


$str = "ويرايش فايلهاي پی اچ پی با Rapid PHP";
$ptr ="/([a-zA-Z]+[ ]?)+/";

if(preg_match($ptr,$str, $matches) )
{
echo $matches[0];
}
// result: Rapid PHP

اما اگه تو متن دو تا کلمه انگلیسی باشه یعنی اینجوری دیگه کار نمیکنه:


$str = "ويرايش فايلهاي PHP با Rapid PHP";
$ptr ="/([a-zA-Z]+[ ]?)+/";

if(preg_match($ptr,$str, $matches) )
{
echo $matches[0];
}
//result: PHP

ممنون میشم بگید مشکل این الگو کجاست؟

desatir7316
یک شنبه 08 مرداد 1391, 21:47 عصر
من زیاد سر درنمیارم عبارت منظم بنویسم ولی می تونی یه سر بزنی اینجا که همش عبارت منظمه شاید دردت بخوره:
regexlib.com

eAmin
یک شنبه 08 مرداد 1391, 23:49 عصر
از تابع preg_match_all (http://www.php.net/manual/en/function.preg-match-all.php) استفاده کنید.