Я использую PHP-код для создания тега мета-описания, например:
<meta name="description" content="<?php
echo $this->utf->clean_string(word_limiter(strip_tags(trim($paperResult['file_content'])),27));
?>
Вот пример вывода метаописания:
<meta name="description" content="blah blah ¶ … blah blah "words in quotation marks" blah blah "more words in quotation marks" blah blah" />
Два объекта HTML в мета-описании этого примера представляют собой знак абзаца (¶
), за которым следует многоточие (…
). Они уже находятся в форме объекта HTML в исходном тексте, поэтому я хочу, чтобы они оставались неизменными. Проблема в том, что мне также нужны кавычки в описании для преобразования в "
, чтобы предотвратить нарушение метатега. Каждая комбинация/конфигурация, которую я пробую, либо не работает, либо ломает мой сайт, потому что я неправильно понимаю код. Например, когда я пробую следующий код, кавычки преобразуются в свой HTML-объект, как хотелось бы, но символы абзаца и многоточия ломаются, потому что символ амперсанда в начале существующих объектов HTML преобразуется в &
. Это оставляет меня со сломанным ¶
(&#182;
) и сломанным …
(&#8230;
):
echo $this->utf->clean_string(word_limiter(htmlspecialchars(strip_tags(trim($paperResult['file_content']))),27));
Я пытался — буквально несколько дней — понять это. Я много искал в Stack Overflow, но безрезультатно. Мне просто нужно, чтобы существующие объекты HTML оставались неизменными, а кавычки были преобразованы в их объекты HTML ("
). Я изучил параметр ENT_QUOTES и знаю, что решение, вероятно, существует там, но я не могу понять, как включить это в мою конкретную строку кода. Я надеюсь, что вы, гуру PHP, сжалитесь над этой измученной душой! Я был бы очень признателен за вашу помощь.
Спасибо!
$paperResult['file_content']
? - person miken32   schedule 16.10.2018echo htmlentities($str, ENT_QUOTES, "UTF-8", false);
с последним аргументом (двойное кодирование) как false и ENT_QUOTES для преобразования кавычек. Если это весь тег, это немного сложнее. - person ArtisticPhoenix   schedule 16.10.2018