Показать сообщение отдельно

  #3  
Старый 02.09.2008, 17:01
D Mak
Участник форума
Регистрация: 23.06.2007
Сообщений: 188
Провел на форуме:
1051973

Репутация: 116
Отправить сообщение для D Mak с помощью ICQ
По умолчанию

PHP код:
$str "matc1 matc2 matc3 matcd";
$search_str "match";
$matches = array();
for(
$i=0$i<strlen($search_str); $i++) {
$temp_str $search_str;
$temp_str[$i] = ".";
$search_regexp "#".$temp_str."#i";
preg_match_all($search_regexp$str$m);
$matches array_merge($matches$m[0]);
}
print_r($matches); 
находит слово с одной неверной буквой

аналогично для поиска асек:
PHP код:
$str "21232 11231 11111";
$search_str "21231";
$matches = array();
for(
$i=0$i<strlen($search_str); $i++) {
$temp_str $search_str;
$num $temp_str[$i]; $b_num $num-1$e_num $num+1;
$temp_str substr($temp_str0$i)."[".$b_num."-".$e_num."]".substr($temp_str$i+1);
$search_regexp "#".$temp_str."#i";
preg_match_all($search_regexp$str$m);
$matches array_merge($matches$m[0]);
}
print_r($matches); 
еще для домофона:
PHP код:
$str "дом фон домофон гггг";
$search_str "домофон";
$m2 = array();
for(
$i=0$i<strlen($search_str)-2$i++) {
$temp_str substr($search_str$i3);
$search_regexp "#[^ ]*".$temp_str."[^ *]*#i";
echo 
$search_regexp."<br>";
preg_match_all($search_regexp$str$m);
$m2 array_merge($matches$m[0]);
}
$matches array_unique($m2); //избавляемся от повторов
print_r($matches); 

Последний раз редактировалось D Mak; 02.09.2008 в 20:13..
 
Ответить с цитированием