shooroop Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 собственно как правильно задать условие к заголовку <h1>{page->name}</h1> что бы в конструкцию вставить </br> в адинке значится name как "Высоковольтные кабели" на странице в h1 выводится соответственно сейчас <h1>Высокольтные кабели</h1> а нужно чтоб выводилось <h1>Высокольтные </br> кабели</h1> те после первого слова выводился </br> какое условие смарти надо прописать, нид хелп Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 28 сентября, 2017 Автор Жалоба Поделиться Опубликовано 28 сентября, 2017 (изменено) такая конструкция дает </br> после каждого слова а мненадо только после первого слова {textformat wrap=1 indent=1 indent_char='</br>'}{$page->name}{/textformat} результат <h1></br>Высокольтные </br> кабели</br></h1> Изменено 28 сентября, 2017 пользователем shooroop Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 (изменено) какое условие смарти надо прописать, нид хелп {$page->name|regex_replace:'/^([^ ]+?)( )(.*)$/':'\1<br>\3'} Изменено 28 сентября, 2017 пользователем chocolate_moles Цитата Ссылка на сообщение Поделиться на другие сайты
Решение loxter Опубликовано 28 сентября, 2017 Решение Жалоба Поделиться Опубликовано 28 сентября, 2017 Чуть попроще {$page->name|regex_replace:'/^([^ ]*) /':'\1<br>'} Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 28 сентября, 2017 Автор Жалоба Поделиться Опубликовано 28 сентября, 2017 Спасибо всем Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 {$h1 = ' ':$page->name|explode:2}{$h1[0]}<br>{$h1[1]} так же можно через substr_replace и strpos. Но мне кажется explode удобней Цитата Ссылка на сообщение Поделиться на другие сайты
Артемий Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 Попробуйте так: {$page->name|replace:' ':'<br>'} Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 Попробуйте так: {$page->name|replace:' ':'<br>'} Так совсем неправильно. ТС ведь четко написал в первом посте: те после первого слова выводился </br> А по Вашему методу КАЖДЫЙ пробел заменится на <br>... Цитата Ссылка на сообщение Поделиться на другие сайты
Артемий Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 Так совсем неправильно. ТС ведь четко написал в первом посте: А по Вашему методу КАЖДЫЙ пробел заменится на <br>...Да верно каждый, но ведь и ТС написал пример с ОДНИМ пробелом, о том что их будет несколько речи не было, и я не обязан это учитывать. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 28 сентября, 2017 Автор Жалоба Поделиться Опубликовано 28 сентября, 2017 У Владимира самый верный вариант Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 (изменено) Да верно каждый, но ведь и ТС написал пример с ОДНИМ пробелом, о том что их будет несколько речи не было, и я не обязан это учитывать. Очень правильное замечание. Безусловно, не обязан. Вы даже вообще не обязаны были в тему писать, особенно после того, как вопрос решился...Стало быть, Вы прямо герой труда - не обязан, а написал... Изменено 28 сентября, 2017 пользователем loxter Цитата Ссылка на сообщение Поделиться на другие сайты
Артемий Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 У Владимира самый верный вариантВерный но не самый простой. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 28 сентября, 2017 Автор Жалоба Поделиться Опубликовано 28 сентября, 2017 Верный но не самый простой. Я не увидел простой ответ от вас. Покажите? Цитата Ссылка на сообщение Поделиться на другие сайты
Артемий Опубликовано 28 сентября, 2017 Жалоба Поделиться Опубликовано 28 сентября, 2017 Я не увидел простой ответ от вас. Покажите?Ещё не придумал, если вас устроит вариант предложенный выше, то думаю не стоит на это тратить время. Цитата Ссылка на сообщение Поделиться на другие сайты
get31 Опубликовано 11 августа, 2023 Жалоба Поделиться Опубликовано 11 августа, 2023 В 28.09.2017 в 14:42, loxter сказал: Чуть попроще {$page->name|regex_replace:'/^([^ ]*) /':'\1<br>'} а как вывести после 3-го слова? Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 11 августа, 2023 Жалоба Поделиться Опубликовано 11 августа, 2023 Чуть изменить способ yr4ik: {$h1 = ' ':$page->name|explode:3} {$h1[0]} {$h1[1]}<br>{$h1[2]} Цитата Ссылка на сообщение Поделиться на другие сайты
get31 Опубликовано 11 августа, 2023 Жалоба Поделиться Опубликовано 11 августа, 2023 (изменено) 3 минуты назад, phukortsin сказал: Чуть изменить способ yr4ik: {$h1 = ' ':$page->name|explode:3} {$h1[0]} {$h1[1]}<br>{$h1[2]} такой способ и сайт летит: Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "W:\home\localhost\www\site\design\wo\html\index.tpl" on line 262 "{$h1 = ' ':$p->name|explode:3}" - Unexpected ":", expected one of: "}" <-- thrown in W:\home\localhost\www\site\Smarty\libs\sysplugins\smarty_internal_templatecompilerbase.php on line 262 ругается на {$h1 = ' ':$p->name|explode:3} Изменено 11 августа, 2023 пользователем get31 Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 12 августа, 2023 Жалоба Поделиться Опубликовано 12 августа, 2023 (изменено) {$h1 = $page->name|explode:4} {$h1[0]} {$h1[1]} {$h1[2]}<br>{$h1[3]} Изменено 12 августа, 2023 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
get31 Опубликовано 12 августа, 2023 Жалоба Поделиться Опубликовано 12 августа, 2023 1 час назад, phukortsin сказал: {$h1 = $page->name|explode:4} {$h1[0]} {$h1[1]} {$h1[2]}<br>{$h1[3]} вместо названия - Warning: explode() expects at least 2 parameters, 1 given in W:\home\localhost\www\smart\Smarty\libs\sysplugins\smarty_internal_templatebase.php(165) : eval()'d code on line 527 Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 13 августа, 2023 Жалоба Поделиться Опубликовано 13 августа, 2023 {$h1 = explode(' ',$page->name,4)} {$h1[0]} {$h1[1]} {$h1[2]}<br>{$h1[3]} Цитата Ссылка на сообщение Поделиться на другие сайты
get31 Опубликовано 13 августа, 2023 Жалоба Поделиться Опубликовано 13 августа, 2023 1 час назад, phukortsin сказал: {$h1 = explode(' ',$page->name,4)} {$h1[0]} {$h1[1]} {$h1[2]}<br>{$h1[3]} Работает, спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.