nuvel
Есть следующий код:
PHP:
else $this->view->setDescription(mb_substr(strip_tags(str_replace(‘ ’,»,$recipe[‘desc’])),0,165).‘…’);Отвечает за вывод краткого описания статьи в <meta name=»description» content=»»>. Если description не задан ручками в админке сайта, подтягивается автоматический.
Загвоздка в том, что автоматический description выводится с пустыми строками (абзацами). Пример:
Код (Text):
<meta name=»description» content=»Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor…»>Сам текст в статье так и разбит. Но как сделать, чтобы в <meta name=»description» content=»»> текст отображался одной строкой, без разбивки на абзацы? То есть вот так:
Код (Text):
<meta name=»description» content=»Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor…»>От модератора: используйте кнопку </> для кода
Drunkenmunky
Вот в этой части вашего кода:
Замените ‘ ’,»
на
array(‘ ’, «n», «rn»),’ ‘
nuvel
Drunkenmunky, спасибо, работает!
Только там, где должен был быть абзац, получается двойной пробел.
То есть между первым и вторым предложениями идут два пробела, а не один:
«Бла-бла-бла. ДВА ПРОБЕЛА Бла-бла-бла.»
Это можно как-то исправить?
Drunkenmunky
Попробуйте вместо вот этого
array(‘ ’, «n», «rn»),’ ‘
вставить
array(‘ ’, «rn»),’ ‘
nuvel
Не помогло.
Судя по всему, задваивает вот эта часть кода (кавычки в конце):
array(‘ ’, «n», «rn»),‘ ‘
Убираю пробел — предложения идут слитно, оставляю — задваивает.
Drunkenmunky
Понятно.
Похоже,что абзац начинался с неразрывного пробела. Его и удаляли.
попробуйте так
array(«rn «, «n », «rn», «n»),’ ‘
Что-то, возможно, будет лишним. Уберёте.
nuvel
Увы((
Текст, из которого берем description, в шаблоне отображается так:HTML:Может, так ситуация яснее станет.
Drunkenmunky
Перед кодом из первого вашего сообщения
ВставьтеКод (Text):
echo $recipe[‘desc’];И скопируйте из него подстроку которую нужно заменить на пробел.
И вставьте её вместо ‘ ’
Заключив в кавычки.
Если при этом сам код будет перенесен на новую строку, то так и оставьте.
nuvel
Эх, знаний не хватает, не понял, что надо сделать.
Пошел шуршать в «методичках».
Спасибо еще раз!
Sail
Вот, в основной «методичке» по одной из используемых функций:
Используйте в статьях <br> вместо <br /> и всё наладится
nuvel
Решил проблему двойных пробелов.
Из первоначального кода (первое мое сообщение) заменил вот это:Код (Text):
‘ ’,»На вот это:
Код (Text):
array(«rn », «rn<br />», «rn»), array(«», «», » «)У меня просто в абзацах то <br />, то просто <br />.
Может, кому пригодится.
Всем спасибо за советы!