Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поиск слова в строке по его части...
Форумы портала PHP.SU » PHP » Регулярные выражения » Поиск слова в строке по его части...

Страниц (1): [1]
 

1. myocean - 19 Ноября, 2011 - 19:53:16 - перейти к сообщению
Здравствуйте...

Подскажите, как можно написать функцию, чтобы на выходе получить массив слов (полных) из строки по их части...

Например:
PHP:
скопировать код в буфер обмена
  1. $str = "The quick brown fox jumps over the lazy dog, The quick brown fox jumps over the Lazy dog"; // Строка для поиска
  2. $word = "azу"; часть или все слово


Поиск без учета регистра, но на выходе нужно получить массив слов без смены их регистра...


PHP:
скопировать код в буфер обмена
  1. function seach_word($str, $word){
  2. $full_word = array();
  3.  
  4. ?????????
  5.  
  6.  return $full_word;
  7. }



То есть в данном случае:

PHP:
скопировать код в буфер обмена
  1. $words = seach_word($str, $word);


Должны получить lazy и Lazy!
2. Bio man - 19 Ноября, 2011 - 20:14:00 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. function seach_word($str, $needle){
  2.    $full_word = array();
  3.    $str_words = explode(' ', $str);
  4.    foreach($str_words as $word) {
  5.       if(strtolower($word) == strtolower($needle)) $full_word[] = $word;
  6.    }
  7.    return $full_word;
  8. }

(Добавление)
тут все знаки препинания будут частью слова, лучше регуляркой пройтись но в регулярках я полный 0
3. Alek - 19 Ноября, 2011 - 22:09:23 - перейти к сообщению
myocean пишет:


Например:
PHP:
скопировать код в буфер обмена
  1. $str = "The quick brown fox jumps over the lazy dog, The quick brown fox jumps over the Lazy dog"; // Строка для поиска
  2. ...
  3.  


Должны получить lazy и Lazy!

регуляркой можно так:
PHP:
скопировать код в буфер обмена
  1. preg_match_all('/[a-z]+/i', $str, $m);

 

Powered by ExBB FM 1.0 RC1