PDA

View Full Version : (تکرار) چرا این دستور جستجو کار نمی کنه؟



idocsidocs
سه شنبه 02 خرداد 1391, 20:41 عصر
این دستور همیشه درست در می یاد در صورتیکه نباید اینطور باشه.


$msg='[n';
$arr=array('[name]');
$bracket=array('[',']');
if(stristr($msg,$bracket)!==FALSE && stristr($msg,$arr)===FALSE){
//error
}

MMSHFE
سه شنبه 02 خرداد 1391, 22:08 عصر
پارامترهای stristr نباید آرایه باشه. این کد رو تست کنید:


$msg = '[n';
$arr = array('[name]');
$bracket = array('[', ']');
$flag = true;
foreach($arr as $item) {
foreach($bracket as $search) {
if(stristr($msg, $search) !== FALSE && stristr($msg, $item) === FALSE) {
$flag = false;
}
}
}
if(!$flag) {
echo // Error;
}

موفق باشید.

idocsidocs
سه شنبه 02 خرداد 1391, 23:15 عصر
مهندس ممکنه تعداد عبارتهایی که باید جستجو بشن زیاد بشه، پی اچ پی یه تابع آماده نداره که بشه آرایه رو بهش داد و خودش سرچ کنه؟