سوال در مرود preg_match

payamsp

Member
وقتي از تابع ereg يا eregi براي كار با regex استفاده مي كنيم نيازي به اين نيست كه در ابتدا و انتهاي عبارت regex مون كاركتر هايي مثله / يا # رو بزاريم اما اگه از preg_match استفاده كنيم بايد اين كار رو انجام بديم .
مي خواستم بدونم دليل اين كار چيه ؟

ممنون
 

k2-4u

Well-Known Member
خب .توابع preg_match از قاعده درست و اصلی Regular Expression استفاده می کنه
ولی تابع eregi . یک مقداری خارج از این قاعده است
در ضمن جدا کننده های که در توابع preg است . این امکان رو به شما میده
که به راحتی از چندین تا flag استفاده کنید که ereg و eregi نداره مثلا
PHP:
ereg("[a-z0-9]",$Str,$out); // alais of
preg_match("/[a-z0-9]/",$Str,$out);

eregi("[a-z0-9]",$Str,$out); // alais of
preg_match("/[a-z0-9]/i",$Str,$out);
اگر به مثال بالا دقت کنید تابع preg کار هر دو تابع ereg و eregi رو انجام میده

توابع eregi و ereg در php 6 حذف شده . و در php 5.3 بد شناخته شده (یعنی ارور E_DEPRACTED میده )
از این 2 تابع استفاده نکنید
و به جای کلا توابع eregi,ereg,ereg_replace ...
از توابع Preg استفاده کنید
 

جدیدترین ارسال ها

بالا