Модератор форума: Yuri_G |
Сообщество uCoz Модули uCoz Дополнительные функции Системные коды обрезания текста uCoz |
Системные коды обрезания текста uCoz |
On-Cloud, войдите в панель управления сайтом: Управление дизайном и там выберите любой дизайн (например, Страницы сайта).
В самом низу вы сможете увидеть такое: ![]() Quote (mob_dp2) substr() + strpos() ![]() Прикрепления:
5170263.jpeg
(84.8 Kb)
·
1843950.jpeg
(168.3 Kb)
|
On-Cloud,
Code <?substr('uCoz - система создания сайтов', 0, strpos('uCoz - система создания сайтов', '-') - 1)?> Как-то так. ![]() Сообщение отредактировал JonMagon - Воскресенье, 15 Июл 2012, 14:27:03
|
Здравствуйте!
Подскажите как можно решить вопрос, просто не знаю в какую тему писать, эта более всего подходит по смыслу. Нужно с помощью кода показывать текст который идет до символа +++++++++++ без этого символа в $MESSAGE$ Код <?substr($MESSAGE$,strrpos($MESSAGE$,'+++++++++++'))?> С помощью этого кода я добился показывать текст который идет после этого символа (вместе с этим символом), но никак не могу добиться обратного и без появления символа в сообщении. Возможно ли это? Заранее спасибо за ответы. Сообщение отредактировал Smailo - Вторник, 04 Ноя 2014, 01:03:37
|
Smailo, привет! В верху даны конкретные инструкции, и где их посмотреть. Но в твоем случае:
Код <?substr($MESSAGE$,0,strpos($MESSAGE$,'+++++++'))?> strpos - найдет твой ++++++, если он входит в первые 2000 знаков $MESSAGE$. Если Он входит в последние 2000 знаков, то лучше использовать strrpos Если +++++++ не попадает ни в первые, ни в последние 2000 знаков, а например во вторые, то код будет таким: Код <?substr($MESSAGE$,0,strpos(substr($MESSAGE$,2000),'+++++++'))?> Можешь забрать этот код и вставить его себе, сам знаешь куда.
|
Head-Mad, спасибо за ответ.
+++++++ попадает в последние 2000 знаков, но какой код для этого подойдет? Что бы обрезалось все что идет после +++++++ и эти +++++++ так же не показывались. Я просто в этих strpos и strrpos вообще ничего не понимаю, только частично, и то если код найду подходящий. Добавлено (04 Ноя 2014, 13:03:15) Код <?substr($MESSAGE$,0,strpos(substr($MESSAGE$,0),'[i]+++++++'))?> А хотелось бы, что бы он как то с конца только это все определял, можно ли как то переписать этот код, а то видимо он с начала берет информацию, и ему не хватает символов, если в начале будет больше 1000 - 2000 символов. Добавлено (04 Ноя 2014, 13:08:47) Сообщение отредактировал Smailo - Вторник, 04 Ноя 2014, 12:57:32
|
Столкнулся с похожей ситуацией, только мне нужно обрезать все до символа +++++++++++ без этого символа в $MESSAGE$
Код <?substr($MESSAGE$,strpos($MESSAGE$,'+++++++++++')+11)?> Так работает только если +++++++++++ входит в первые 2000 знаков $MESSAGE$. Проблема в том что у меня +++++++++++ входит в первые 3000 знаков. Если +++++++ не попадает ни в первые, ни в последние 2000 знаков, а например во вторые, то код будет таким: Код <?substr($MESSAGE$,0,strpos(substr($MESSAGE$,2000),'+++++++'))?> Никак не соображу как его переделать под мой случай. |
Joolz, Ну уберите в шаблоне код $MESSAGE$ и поставте вместо него ++++++++++. Зачем вам тогда эти сокращалки ? Я просто исхожу из того, что вы пишите. Чот так всё запутано. Вы то не поймёте , а я вот тем более не пойму что вы хотите. Сообщение отредактировал novikk - Понедельник, 04 Апр 2016, 20:46:41
|
novikk, есть текст на ~3000 знаков. Мне нужно обрезать все до символа +++++++++++. Проблема в том что этот +++++++++++ по счету ~ 2500-й.
Если текст например на 2000 знаков, то <?substr($MESSAGE$,strpos($MESSAGE$,'+++++++++++')+11)?> прекрасно все обрезает. Думаю так, обрезать первые 2000 знаков: <?substr($MESSAGE$,2000)?>, потом с того что осталось удалить все до символа +++++++++++ включительно. Только не пойму как это реализовать. Сообщение отредактировал Joolz - Понедельник, 04 Апр 2016, 21:02:40
|
Joolz, Попробуйте так
Цитата <?substr($MESSAGE$, 0, 2500, strpos($MESSAGE$,"[]"))?> ++++++++++++++ <?substr($MESSAGE$, strpos($MESSAGE$,"[]")0)?> Так то должно работать Цитата <?substr($MESSAGE$, 0, 2500, strpos($MESSAGE$,"[до]"))?> +++++++++++ <?substr($MESSAGE$, strpos($MESSAGE$,"[после]")+8)?> - продолжение текста Сообщение отредактировал novikk - Понедельник, 04 Апр 2016, 22:06:56
|
Joolz, Вот этот код поставте Цитата <?substr($MESSAGE$, 0, 2500, strpos($MESSAGE$,"[до]"))?> +++++++++++ <?substr($MESSAGE$, strpos($MESSAGE$,"[после]")+8)?> до +++++++ меняеться выделенное красным Если после плюс не будет не чо продрлжаться, то поставте это Код <?substr($MESSAGE$, 0, 2500, strpos($MESSAGE$,"[]"))?> ++++++++++++++ <?substr($MESSAGE$, strpos($MESSAGE$,"[]")0)?> Я с трудом конечно понимаю, но вроде бы по вашим объяснением так делаеться. Сообщение отредактировал novikk - Понедельник, 04 Апр 2016, 22:20:30
|
Joolz, я вам сразу написал, что я с трудом понимаю. Просто нет никого кто шарит, вот я и пытаюсь помочь вам. Я просто коротко напишу . Вот это обрезание до объкта Цитата <?substr($MESSAGE$, 0, 2500, strpos($MESSAGE$,"[]"))?> А это продолжение обрезания после объекта ( вернее прибавление символов) Цитата <?substr($MESSAGE$, strpos($MESSAGE$,"[после]")+8)?> "[после]")+8)?> а между этими двумя кодами - находиться обьект Добавлено (04 Апр 2016, 22:34:43) --------------------------------------------- Joolz, Код <?substr($MESSAGE$, 0,0, strpos($MESSAGE$,"[]"))?> +++++++++ <?substr($MESSAGE$, strpos($MESSAGE$,"[после]")+8)?> Вот щас специально тест проведу, минуточку Сообщение отредактировал novikk - Понедельник, 04 Апр 2016, 22:49:23
|
| |||