Ошибка синтаксического анализа PHP при выполнении длинной команды регулярного выражения изнутри переполнения стека

когда я пытаюсь разобрать файл, выполнив эту команду из php с помощью shell_exec ():

$shellCommand = "cat $filelocn | awk 'BEGIN{RS="<br>"}{$1=$1}1' |sed '/CURRENT/d' ";
echo $shellCommand ;

Ошибка отображается:

PHP Parse error:  syntax error, unexpected '>' in filename.php

я также попытался добавить \ перед ‘то есть: "cat $filelocn | awk \'BEGIN{RS=\"<br>\"}{$1=$1}1'";
но опять выдает ошибку.

Как мне решить эту проблему?

-1

Решение

Если вы не пытаетесь интерполировать переменные в своем PHP-коде в строку, вам также нужно экранировать знаки доллара:

$shellCommand = "cat \$filelocn | awk 'BEGIN{RS=\"<br>\"}{\$1=\$1}1' |sed '/CURRENT/d' ";
echo $shellCommand;

В частности, $1s вызывают вашу ошибку разбора. Если $filelocn переменная PHP, вам не нужно избегать ее

0

Другие решения

Других решений пока нет …