Небольшая "проблема" с обработкой кавычки

История очень давняя и как бы меня не сильно беспокоит, но только спустя пару лет дошли руки написать этот пост.

Есть магазин последней версии с шаблоном дефолт-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.

Пока нет ответов. Ответьте на этот вопрос первым!

    Добавить ответ

    Чтобы добавить комментарий, зарегистрируйтесь или войдите