dok2d
@dok2d
Сисадмин, делаю сайты разной паршивости

Как правильно отыскать слова через preg_match_all?

Есть две строки:
$prog = 'program analiz
 begin
 int i, n ; {Описание переменных}
 float sum ; {Описание переменных}
 readln n ; {Указание количества итераций}
 sum:= 0.31e-1 ;
 i:=1 ; 
  while (i<=n)
		begin
			sum:=sum+(1/i);
			i:=i+1;
		end
	writeln sum; {Вывод результата}
end.';

$oper = '/(program)|(var)|(begin)|(end)|(ass)|(if)|(then)|(else)|(for)|(to)|(do)|(while)|(read)|(write)|(true)|(false)/';


Нужно вывести список слов, которые в обоих переменных совпадают.

Из первой строки я вывожу совпадающие выражения через:
$pr = preg_match_all($oper, $prog, $arr);

Сама загвоздка заключается в том, что слово он выводит, даже если оно имеет продолжение.
Я пробовал добавлять пробелы к словам $oper, но preg_match_all не выводит слова, которые после себя стазу имеют перенос.
Как быть?
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы