|
|
|
| Всем привет !
разбираю строку : www.allmovie.com/cg/avg.dll?p=avg&sql=1:249188
на выходе получаю : www.allmovie.com/cg/avg.dll?p=avg
куда теряется : &sql=1:249188
что не так ?
preg_match_all("#www.allmovie.com/([^&]+)#is",$typ1[$i],$out);
|
| |
|
|
|
|
|
|
|
для: dima2207
(21.01.2008 в 23:04)
| | Интересно, а что в итоге хотите получить?
И как вы думаете что это значит [^&]+ ? :) | |
|
|
|
|
|
|
|
для: Faraon
(21.01.2008 в 23:42)
| | если чесно , то регулярные выражения для меня - темный лес , поэтому я действую методом "научного тыка".
а получить мне надо всю строку целиком ! | |
|
|
|
|
|
|
|
для: dima2207
(21.01.2008 в 23:51)
| | >а получить мне надо всю строку целиком !
Тогда проще написать $out = $typl[$i]; | |
|
|
|
|
|
|
|
для: Trianon
(22.01.2008 в 00:04)
| | да нет , есть массив , и мне нужно найти все соответствия в нем ! | |
|
|
|
|
|
|
|
для: dima2207
(21.01.2008 в 23:04)
| |
preg_match_all("#www.allmovie.com/([^ ]+)#is",$typ1[$i],$out);
|
| |
|
|
|
|
|
|
|
для: SHAman
(22.01.2008 в 00:10)
| | странно , а я пробовал так-же , только без пробела после ^ . | |
|
|
|
|
|
|
|
для: dima2207
(22.01.2008 в 00:15)
| | :) дык в пробеле вся фишка.
Разберем по-частям:
#www.allmovie.com/([^ ]+)#is
www.allmovie.com/ - ищем точное совпадение.
[^ ] - отрицательный класс символов, содержащий только пробел.
Класс символов - это перечисление "какой-то из этих символов может стоять здесь". Например, м[аы][мл]а подойдет к "мама", "мыла", "мыма", "мала".
Отрицательный класс символов - это когда "здесь может стоять что угодно, кроме одного из перечисленных символов". Отрицательный класс выглядит так: [^здесь символы]
То есть, конструкция [^ ] обозначает "не пробел". Ее можно, так же, обозначить \S.
символ + после отрицательного класса - это квантификатор. Он говорит "ближайший контейнер до меня идет один и более раз". Контейнер - это либо класс символов, либо символ, либо что-то, заключенное в круглые скобки. Например:
м[абв]+ма будет соответствовать "мааама", "мббббма", "мввввввввва".
Совместно, конструкция [^ ]+ обозначает "один или больше символов, все из которых - не пробел".
Итак, мы ищем кусок текста, а потом сколько угодно символов после него, не являющихся пробельными. Это нам и нужно, на сколько я понимаю. | |
|
|
|
|
|
|
|
для: SHAman
(22.01.2008 в 01:33)
| | Спасибо за информацию ! | |
|
|
|