Прокомментируйте строку PHP, содержащую символ # / - PullRequest
0 голосов
/ 05 мая 2020

Как мне закомментировать приведенную ниже строку PHP кода

$html = preg_replace('#(<br */?>\s*)+#i', '<br />', $html);

Хотя эту строку можно отключить чем-то вроде

if (0==1)
    $html = preg_replace('#(<br */?>\s*)+#i', '<br />', $html);

Но все же это не комментарий .

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Проблема в том?> Что @Nigel Ren упомянул в комментарии. Символ /? Шаблон может быть опущен, потому что * это делает его.

//$html = preg_replace('#(<br *>\s*)+#i', '<br />', $html);

Проблема также возникает, когда строки вроде

$string = "?>xxxx";

должны быть закомментированы. В таком случае ? можно заменить на \ x3f (Примечание: в двойных кавычках!).

$string = "\x3f>xxxx";

Это та же строка для PHP, но не конечный тег PHP.

1 голос
/ 05 мая 2020

Лучшее, что я мог придумать, - это разделить ваш шаблон регулярного выражения в его собственную переменную, а затем разделить эту строку с помощью '.'. Меня вдохновил следующий ответ, который также предлагает переделать регулярное выражение, но не уверен, что это вариант.

Источник: { ссылка }

Пример:

/*

$pattern = "'#(<br *" . "/?>\s*)+#i'";

$html = preg_replace($pattern, '<br />', $html);

*/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...