Не понимаю preg_grep

Patrul

Новичок
Не понимаю preg_grep

1) Есть получаемая переменная
$poisk="слово"

Пытаюсь найти в файле 1.csv строки с этим словом, не уверен, где оно может находиться (в конце или нет), есть ли рядом пробелы или другие символы, может и нет...

$data = file("1.csv");
$numbers = preg_grep("$poisk",$data);

А он мне ругается:
preg_grep(): Delimiter must not be alphanumeric or backslash in 1.php on line 3

Как можно избежать этого восприятия?
Пробовал ставить ~$poisk~, так работает, но не все что должен находить - находит, т.е. очень малую часть.

2) И еще:
Можно ли заставить PHP не различать в значении только этой переменной ($poisk) регистр символов
Т.е. что бы при
$poisk="СЛово" или $poisk="сЛОВо" или $poisk="СЛОВО"
поиск все равно давал бы результатом строку содержащую "слово"
 

Patrul

Новичок
Какую именно часть - не могу понять.
Допустим есть у меня в файле 1.csv строка:
Бумага Canon (GP401A4) Glossy

Если я переменной $poisk присваиваю "Canon" - он ничего не находит, а если " Canon " (с пробелами), то находит...
 

Patrul

Новичок
Сорри, сам я дурак!
Пока пример делал, наткунулся на проверку на существование и в ней стоит break(2), вот она-то меня и выкидывала на середине обработки, а то и вначале...
white phoenix, Большое спасибо!
и за '~word~i' тоже.

-~{}~ 25.01.06 01:35:

А $poisk не может состоять из 2-х слов?
У меня почему-то не ищет... Или я опять где-то накосячил?
 

white phoenix

Новичок
Patrul
Это было очевидно, поэтому и попросил пример.
> А $poisk не может состоять из 2-х слов?
Что значит из "слов"? Скажи словами условие. Рекоммендую прочесть руководство.
 

Patrul

Новичок
Ну то есть мне нужно найти "пример предложения"
Я обязательно присваивать переменной "пример/s+предложения"? Или тоже можно обойти модификатором. Про такой модификатор ничего не нашел :(
 

white phoenix

Новичок
Учись формулировать условия словами. Что значит "первое второе"? Выражение справедливо если найдено хотя бы одно слово? Тогда используй условный выбор: '~(первое|второе)~i'. В общем всё это можно узнать из руководства, пересказывать тут не собираюсь.
 
Сверху