Небольшая "проблема" с обработкой кавычки
История очень давняя и как бы меня не сильно беспокоит, но только спустя пару лет дошли руки написать этот пост.
Есть магазин последней версии с шаблоном дефолт-3 из "коробки", если можно так сказать. В приложении Магазин создаем тестовый товар и в том же приложении создаем одну страницу с каким-нибудь тестовым содержанием, например, контактными данными продавца. В title и meta-description товара и страницы присутствуют кавычки вот такого вида "тут текст".
В шаблоне в index.html у нас есть код:
<title>{$wa->title()|escape}</title> <meta name="Description" content="{$wa->meta('description')|escape}" />
Итак. Мы создали товар и страницу. Затем открываем исходный код товарной страницы и страницы с произвольным контентом в браузере и смотрим в теги meta name="Description" и meta property="og:description". У страницы товара проблем вроде бы нет, но на странице с контактными данными продавца такое:
Чтобы избавиться от этого в Description заменил escape на соответствующий replace.
А для решения в тегах og:description заменил в файле waViewHelper.class.php в строке
$html .= '<meta property="'.htmlspecialchars($k).'" content="'.htmlspecialchars($v).'" />'.PHP_EOL;
второй htmlspecialchars на соответствующий str_replace, но можно было бы и так сделать
Решение костыльное, хотя правка системных файлов лично для себя и последующая накатка сделанных построчных изменений в кол-ве 6-7 штук меня не останавливали ни разу, т.к. процесс у меня автоматизирован, но вопрос заключается в другом.
Кто и какие решения применяет сейчас или применил, если бы потребовалось, по этому поводу, кроме полного отказа от кавычек вышеупомянутого типа?
P.S. В данной теме, которую я тут создал, тоже проблемы с кавычкой, но только в теге title и og:title.
Пока нет ответов. Ответьте на этот вопрос первым!