Строки. - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > PHP

PHP Форум как для начинающих программистов на PHP так и для профессионалов этого дела. Если нужно создать скрипт, функцию и т.д, но не знаете как, спросите у нас и мы вам подскажем. Здесь вы найдете примеры скриптов которые вы сможете использовать на сайтах своих серверов (онлайн, регистрация, семь печатей, топ игроков). Так же много книг и статей.

Ответ
Опции темы
Непрочитано 28.10.2011, 22:02   #1
Аватар для Extez1
Пользователь

Автор темы (Топик Стартер) Строки.

Есть txt фаил содержащий текст:
Код:
501#
A potion made from ground Red Herbs that restores ^000088about 45 HP^000000.
^ffffff_^000000
Weight :^777777 7^000000
#
502#
A potion made from ground Red and Yellow Herbs that restores ^000088about 105 HP^000000.
^ffffff_^000000
Weight :^777777 10^000000
#
Реально ли закинуть в ассоциативный массив так, что бы цифра была ключём, а всё что в нутри ## было значением?

пример:
echo $massive['501'].""; выводило
Код:
A potion made from ground Red Herbs that restores ^000088about 45 HP^000000.
^ffffff_^000000
Weight :^777777 7^000000
или подкиньте идею как по другому сделать.

Добавлено через 33 минуты
Найти строку не трудно, а вот выдернуть всё, что в нутри ## в голову не приходит.

Последний раз редактировалось Extez1; 28.10.2011 в 22:36. Причина: Добавлено сообщение
Extez1 вне форума Ответить с цитированием
Непрочитано 28.10.2011, 22:42   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Строки.

Как пример.

PHP код:
    $string '
        501#
        A potion made from ground Red Herbs that restores ^000088about 45 HP^000000.
        ^ffffff_^000000
        Weight :^777777 7^000000
        #
        502#
        A potion made from ground Red and Yellow Herbs that restores ^000088about 105 HP^000000.
        ^ffffff_^000000
        Weight :^777777 10^000000
        #
    '
;
    
    
$lines explode(PHP_EOL$string);
    
$lines array_map('trim'$lines);
    
    
$item null;
    
$desc null;
    
$items = array();
    
    foreach (
$lines as $line) {
        if (
preg_match('#(^[\d]+)\##'$line$match)) {
            
$item $match[1];
            continue;
        }
        
        if (
preg_match('#^\##'$line)) {
            
$items[$item] = $desc;
            
$desc null;
            continue;
        }
        
        
$desc .= $line;
    }
    
    
var_dump($items); 
Код:
array
  501 => string 'A potion made from ground Red Herbs that restores ^000088about 45 HP^000000.^ffffff_^000000Weight :^777777 7^000000' (length=115)
  502 => string 'A potion made from ground Red and Yellow Herbs that restores ^000088about 105 HP^000000.^ffffff_^000000Weight :^777777 10^000000' (length=128)
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 28.10.2011, 23:03   #3
Аватар для Extez1
Пользователь

Автор темы (Топик Стартер) Re: Строки.

буду разбирать сейчас) Большое спасибо.

Добавлено через 37 минут
Я понял до "[/d]+)\##", может кто расшифровать это кусок?
Код:
Полная версия
#(^[\d]+)\##

Последний раз редактировалось Extez1; 28.10.2011 в 23:41. Причина: Добавлено сообщение
Extez1 вне форума Ответить с цитированием
Непрочитано 29.10.2011, 00:02   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Строки.

Строка начинается на целое с окончанием # > 999#
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 29.10.2011, 16:49   #5
Аватар для Extez1
Пользователь

Автор темы (Топик Стартер) Re: Строки.

Завязал с поиском приключений на попу.
Сделал по старинки через массивы, я не пойму 1го почему не сохраняются изменения... когда алертом проверяю внутри цикла, значение присваивается. Когда вывожу остается прежним.
Код:
        if(ai==0){
                str_title.innerHTML='Я ЗДЕСЬ БЫЛ 0';
                for(var i = 0; i < str2_text.length; i++){
                    for(var j = 0; j < str2_text.length-1; j++){
                        if(str2_text[j] > str2_text[j+1]){
                        zapas = str2_text[j];
                        str2_text[j] = str2_text[j+1];
                        str2_text[j+1] = zapas;
                        }
                    } 
            }
            str2_final.innerHTML=''+str2_text
        }

Последний раз редактировалось Extez1; 29.10.2011 в 22:07.
Extez1 вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезапуск сервера из командной строки csander Серверная часть 6 14.12.2010 08:29
AionResTools -обработка pak->zip->pak без командной строки Fireword Документация 4 13.12.2010 13:52
Кто нибудь выложите начальные строки Скриптов на сборку L2emu папка Custom Unreal-Game Lineage II 4 21.05.2009 18:03


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 20:03. Часовой пояс GMT +3.

Вверх