متغير خالي !

كدي هست كه بشه توش تعريف كرد كه ايا $string فقط از يه چيزي مثلا اسپيس درست شده باشه
([\s]+) مثلا اين ولي تويه ereg كار نكرد

<?php $string = ' '; if(ereg (' ([\s]+)', $string)){echo 's'; }

مدت زيادي دارم روش فكر ميكنم.برا يه سيستمي اين كد به ظاهر ساده كارسازترين هست.نياز فوري دارم به اين كد لطفا اگه راهي ميدونيد اعلام كنيد
ممنون:rose:
 
اي بروچ دمتون گرم اين كده به ظاهر ساده كله كاراي ما رو معلق كرده.
كسي نبود ؟:-?
 

P.H.P

Member
از preg_match استفاده کن

PHP:
$string = ' '; 
if(preg_match("/\s/", $string))
{
    echo 's'; 
}
 

D.A.V.O.O.D

Member
خیلی راه داره ، دو تا راه دیگه که به ذهنم رسید ایناست :
اولیش با استفاده از strpos :
PHP:
$String = "Hello World !";
if( is_int( strpos( $String , " " ) ) )
{
     echo "Space Char Exist In String";
 } else
 {
    echo "Space Char Han't Exist !";
}
دومی هم با استفاده از substr_count :
PHP:
$String = "Hello World !";
if( substr_count( $String, " " ) <> 0 )
{
      echo "Space Char Exist In String";
} else
{
     echo "Space Char Han't Exist !";
}
 
PHP:
       $string = 's         sd'; 
if(preg_match("/\s/", $string))
{
    echo 's'; 
}
عمل نكرد متاسفانه:sad:
ببين داوود من ميخوام چك كنم كه ايا اين متغير فقط از اسپيس درست شده اگه اينطور بود شرط اجرا بشه.ميشد با ereg زد [ ]+ ولي متاسفانه بعضي فاصله ها طولشون از اين بيشتره و اونا طبق اين قاعده رد ميشن و شرط عملي نميشه در كل فكر كنم هر چي باشه به همين \s بايد ختم بشه.
اين راه ها كار نكردن راه ديگه اي بگيد ممنون ميشم:rose:
 

yakoza

Well-Known Member
اینم تست کن

PHP:
$body='s         sd'; 
if (preg_match('/(S*)/i', $body)) {
echo 'space';
}
 
PHP:
$body='s         sd'; 
if (preg_match('/(S*)/i', $body)) {
echo 'space';
}

HTML:
out :space
ببينيد دوستان منظور من اينكه اين متغيير فقط زماني كه از اسپيس تشكيل شده شرط اجرا بشه.
يه سيستم بزرگ فقط بخاطر اين كد معلق شده :cry:
 

eAmin

Well-Known Member
PHP:
       $string = 's         sd'; 
if(preg_match("/\s/", $string))
{
    echo 's'; 
}
عمل نكرد متاسفانه:sad:
ببين داوود من ميخوام چك كنم كه ايا اين متغير فقط از اسپيس درست شده اگه اينطور بود شرط اجرا بشه.ميشد با ereg زد [ ]+ ولي متاسفانه بعضي فاصله ها طولشون از اين بيشتره و اونا طبق اين قاعده رد ميشن و شرط عملي نميشه در كل فكر كنم هر چي باشه به همين \s بايد ختم بشه.
اين راه ها كار نكردن راه ديگه اي بگيد ممنون ميشم:rose:

سلام.

بزارید ببینم، منظور شما اینه که توی متغیر فقط space باشه و هیچ کاراکتر دیگه توش نباشه درسته؟
اگر اینطور هست این جوابگوی شما هست:
PHP:
$string = '         '; 
if(preg_match("/^\s+$/", $string))
{
    echo 's'; 
}
توی این پترن ما صریحا اعلام کردیم که با فضای خالی شروع و با فضای خالی ختم بشه.

اینم تست کن

PHP:
$body='s         sd'; 
if (preg_match('/(S*)/i', $body)) {
echo 'space';
}
S بزرگ، مخالف space هست. یعنی چک می کنه که فضای خالی در اون متغیر وجود نداشته باشه.
 

Webber

Well-Known Member
سلام
مي تونيد كد زير رو هم امتحان كنيد.
PHP:
<?php
 $body='        '; 
 $int_var_len=strlen($body);
 $int_whitespace_len=substr_count($body, " "); ;

if ($int_var_len===$int_whitespace_len) 
{
   echo 'Body is only whitespace!';
}
else
{
   echo 'Body has another characters!'; 
}
?>

موفق باشيد
 
خدا رو شكر مشكل رفع شد

:oops:جواب نهايي اين بود preg_match('/^\s+/', :oops:

از همه دوستان برا شركت در اين تايپك و گفتن راه حل هاي جالبشون ممنون
سريع ترين و دقيق ترين و... اين راه هست
preg_match('/^\s+/',$string);
 

D.A.V.O.O.D

Member
PHP:
if( substr_count( $string, " " ) <> 0 )
:sad:
<> هم داریم توو php ؟

بله داریم ، مترادف !== هست .

:oops:جواب نهايي اين بود preg_match('/^\s+/', :oops:

از همه دوستان برا شركت در اين تايپك و گفتن راه حل هاي جالبشون ممنون
سريع ترين و دقيق ترين و... اين راه هست
preg_match('/^\s+/',$string);

خوب خدا را شکر ، ببخشید نبودم و احتمالا الانم دیر رسیدم ...
 

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

بالا