• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Yuri_G  
Сообщество uCoz » Модули uCoz » Дополнительные функции » Системные коды обрезания текста uCoz
Системные коды обрезания текста uCoz
On-Cloud
Сообщений: 1
Репутация: 3

Сообщение # 1 | 13:31:29
Подскажите код который обрезает текст с начала и до знака - дефис
olegsuv
Сообщений: 1365
Репутация: 127

Сообщение # 2 | 13:45:13
On-Cloud, substr() + strpos()

Любые работы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
Dmitry
Сообщений: 2154
Репутация: 1057

Сообщение # 3 | 14:23:11
On-Cloud, войдите в панель управления сайтом: Управление дизайном и там выберите любой дизайн (например, Страницы сайта).
В самом низу вы сможете увидеть такое:


Quote (mob_dp2)
substr() + strpos()


Прикрепления: 5170263.jpeg (84.8 Kb) · 1843950.jpeg (168.3 Kb)
JonMagon
Сообщений: 2291
Репутация: 1828

Сообщение # 4 | 14:26:35
On-Cloud,
Code
<?substr('uCoz - система создания сайтов', 0, strpos('uCoz - система создания сайтов', '-') - 1)?>

Как-то так.

Не оказываю поддержку посредством ЛС/ICQ/Skype/AIM/XMPP/E-mail.
Сообщение отредактировал JonMagon - Воскресенье, 15 Июл 2012, 14:27:03
Smailo
Сообщений: 12
Репутация: 0

Сообщение # 5 | 01:02:50
Здравствуйте!

Подскажите как можно решить вопрос, просто не знаю в какую тему писать, эта более всего подходит по смыслу.
Нужно с помощью кода показывать текст который идет до символа +++++++++++ без этого символа в $MESSAGE$

Код
<?substr($MESSAGE$,strrpos($MESSAGE$,'+++++++++++'))?>

С помощью этого кода я добился показывать текст который идет после этого символа (вместе с этим символом), но никак не могу добиться обратного и без появления символа в сообщении.
Возможно ли это?

Заранее спасибо за ответы.
Сообщение отредактировал Smailo - Вторник, 04 Ноя 2014, 01:03:37
Head-Mad
Сообщений: 378
Репутация: 129

Сообщение # 6 | 07:45:20
Smailo, привет! В верху даны конкретные инструкции, и где их посмотреть. Но в твоем случае:
Код
<?substr($MESSAGE$,0,strpos($MESSAGE$,'+++++++'))?>
0 - Это порядковый номер символа с которого начинать обрезание строки.
strpos - найдет твой ++++++, если он входит в первые 2000 знаков $MESSAGE$. Если Он входит в последние 2000 знаков, то лучше использовать strrpos
Если +++++++ не попадает ни в первые, ни в последние 2000 знаков, а например во вторые, то код будет таким:
Код
<?substr($MESSAGE$,0,strpos(substr($MESSAGE$,2000),'+++++++'))?>
Если же ситуация неоднозначна, и +++++ появляется в разных частях, то можно написать код проверки или сканирования всего $MESSAGE$ исходя из выше написанного. Но в таком варианте, я бы рекомендовали использовать JS

Можешь забрать этот код и вставить его себе, сам знаешь куда.
Smailo
Сообщений: 12
Репутация: 0

Сообщение # 7 | 13:08:47
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)
---------------------------------------------
Все, нашел как это сделать smile strrpos вместо strpos =)

Спасибо!!!

Сообщение отредактировал Smailo - Вторник, 04 Ноя 2014, 12:57:32
Joolz
Сообщений: 81
Репутация: 27

Сообщение # 8 | 20:04:36
Столкнулся с похожей ситуацией, только мне нужно обрезать все до символа +++++++++++ без этого символа в $MESSAGE$
Код
<?substr($MESSAGE$,strpos($MESSAGE$,'+++++++++++')+11)?>

Так работает только если +++++++++++ входит в первые 2000 знаков $MESSAGE$. Проблема в том что у меня +++++++++++ входит в первые 3000 знаков.

Цитата Head-Mad ()
Если +++++++ не попадает ни в первые, ни в последние 2000 знаков, а например во вторые, то код будет таким:
Код
<?substr($MESSAGE$,0,strpos(substr($MESSAGE$,2000),'+++++++'))?>


Никак не соображу как его переделать под мой случай.
novikk
Сообщений: 270
Репутация: 29
Уровень замечаний:

Сообщение # 9 | 20:43:50
Цитата Joolz ()
только мне нужно обрезать все до символа +++++++++++ без этого символа в $MESSAGE$

Joolz, Ну уберите в шаблоне код $MESSAGE$ и поставте вместо него ++++++++++. Зачем вам тогда эти сокращалки ?
Я просто исхожу из того, что вы пишите.

Чот так всё запутано. Вы то не поймёте , а я вот тем более не пойму что вы хотите.
Сообщение отредактировал novikk - Понедельник, 04 Апр 2016, 20:46:41
Joolz
Сообщений: 81
Репутация: 27

Сообщение # 10 | 20:58:17
novikk, есть текст на ~3000 знаков. Мне нужно обрезать все до символа +++++++++++. Проблема в том что этот +++++++++++ по счету ~ 2500-й.

Если текст например на 2000 знаков, то <?substr($MESSAGE$,strpos($MESSAGE$,'+++++++++++')+11)?> прекрасно все обрезает.

Думаю так, обрезать первые 2000 знаков: <?substr($MESSAGE$,2000)?>, потом с того что осталось удалить все до символа +++++++++++ включительно. Только не пойму как это реализовать.
Сообщение отредактировал Joolz - Понедельник, 04 Апр 2016, 21:02:40
novikk
Сообщений: 270
Репутация: 29
Уровень замечаний:

Сообщение # 11 | 21:43:55
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
Сообщений: 81
Репутация: 27

Сообщение # 12 | 22:10:15
novikk, так что пробовать, не понял.
novikk
Сообщений: 270
Репутация: 29
Уровень замечаний:

Сообщение # 13 | 22:16:31
Цитата Joolz ()
novikk, так что пробовать, не понял.

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
Сообщений: 81
Репутация: 27

Сообщение # 14 | 22:23:35
novikk, мне кажется вы не поняли что мне нужно

Вот текст на 2163 символов, мне нужно удалить все до +++++++
Сообщение отредактировал Joolz - Понедельник, 04 Апр 2016, 22:28:34
novikk
Сообщений: 270
Репутация: 29
Уровень замечаний:

Сообщение # 15 | 22:34:43
Цитата Joolz ()
novikk, мне кажется вы не поняли что мне нужно

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
Сообщество uCoz » Модули uCoz » Дополнительные функции » Системные коды обрезания текста uCoz
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: