Аналог линухового - grep?

KorP

Новичок
Господа, а есть функция аналогичная по своей работе линоховому grep? что бы при нахождении определённого вхождения возвращала целиком строку (ну и был аналог "-v" - отрицательные вхождения)? А то блин просто так распарсить оч геморно.
 

KorP

Новичок
угу :)

господа, а preg_match может быть "отрицательным"?
т.е. получил я несколько строк вида:
ляля.itunes
ляля.720p
ляля
и мне из выборки надо выбросить строки, содержащие itunes и 720p и получить только строку "ляля", как это лучше сделать?
 

Breeze

goshogun
Команда форума
Партнер клуба
это не греп, это пайпы такие удобные

http://ru.php.net/preg_match
preg_match() returns the number of times pattern matches. That will be either 0 times (no match) or 1 time because preg_match() will stop searching after the first match.
 

KorP

Новичок
да, в общем не знаю почему я себе вбил в голову что это гемор, вопрос решил за 10 минут
PHP:
preg_match_all("/<link>(.+)<\/link>/", $download, $array);
foreach ($array[1] as $key => $val) {
	if (preg_match("/misfits/", $val, $matches) != false) {
		if (preg_match("/(HD|720p)/", $val, $matches) != false) {
			echo $val."<br>";
		}
		if (!preg_match("/(itunes|HD|720p)/", $val, $matches) != false) {
			echo $val."<br>";
		}
	}
}
вродь работает как должно

всем благодарность
 

Вурдалак

Продвинутый новичок
PHP:
    if( strpos($val, 'misfits') !== false )
    {
        if( strpos($val, 'HD') !== strpos($val, '720p') )
        {
                
        }
        elseif( strpos($val, 'itunes') === false )
        {
            
        }
    }
 
  • Like
Реакции: Dovg

movRAX

Новичок
угу :)
и мне из выборки надо выбросить строки, содержащие itunes и 720p и получить только строку "ляля", как это лучше сделать?
Если бы строки были в массивах, то можно было бы использовать preg_grep() с флагом PREG_GREP_INVERT.
 
Сверху