У меня есть код HTML / PHP, который я передаю через функцию Ruby. Я хочу, чтобы он отображал минимизированный PHP, а не как есть. Я считаю, что команда оболочки php -w
была бы идеальной для этого.
module Haml
module Filters
module PHP
include Base
##
# @param text, string (Haml/PHP code)
#
def render(text)
`php -w <<< "<?php #{text} ?>"`
end
end
end
end
Приведенный выше код ломается, потому что строка HTML / PHP text
содержит специальные символы. Как лучше всего избежать их?
После публикации этого вопроса и благодаря комментариям я сделал больше проб и ошибок.
Я установил, что это вызвано только четырьмя специальными символами: " \ $ (backtick)
(двойная кавычка, обратная сторона sh, знак доллара, обратная черта)
Я создал простое решение, которое работает (ниже) .