|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
alexsun7 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 14.1.2023 Репутация: нет Всего: нет |
Подскажите, пожалуйста, можно ли разделить на уровни вложенности строку и каждому уровню вложенности задать процент (где между фигурной скобкой и прямой чертой идет значение).
Например, такая строка: { 1 уровень - 1 | 1 уровень - 2 { 2 уровень - 1 | 2 уровень - 2 } } Чтобы в результате получилась строка: { 50%: 1 уровень - 1 | 50%: 1 уровень - 2 { 25%: 2 уровень - 1 | 25%: 2 уровень - 2 } } Примерно по такому принципу. Не только на 2 уровень, но и на более глубокие уровни вложенности. Проще говоря, как бы разделить эту строку по "|", но чтобы оно было вне фигурных скобок. Это сообщение отредактировал(а) alexsun7 - 17.4.2023, 14:13 |
|||
|
||||
korob2001 |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
Нужно извлечь в один список (массив) все уровни, начиная с самого внутреннего вложения. Вот пока пример на Perl, сейчас постараюсь переписать его на PHP, просто на PHP писал последний раз лет 10 назад. В принципе языки похожи, если не вспомню, то может кто-нить другой поможет.
Вот так выглядит теперь массив @levels:
Где каждая строка - элемент массива PS: сейчас попробую написать всё это на PHP. Это сообщение отредактировал(а) korob2001 - 19.4.2023, 21:13 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
korob2001 |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 1 Всего: 61 |
Вот, то же самое на PHP.
Просьба тапками не кидаться, наверняка есть способ покороче. Я просто пока писал это столько документации почитал про разные там preg_...., ereg_....., replace и т.п. На самом деле можно было рекурсивно вызывать callback функцию, но я всё же предпочёл остановиться на цикле while без тела. PS: можно кстати всё это собрать не в массив, а в хеш, ну или словарь, кому как удобнее. Что бы на выходе получить примерно такую структуру:
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |