Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (4) [1] 2 3 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Помогите написать регулярку, как исключить символы из шаблона
ArtemKrass  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 88
Пользователь №: 32702
На форуме: 4 года, 7 месяцев, 10 дней
Карма:




Всем привет!
Как из этой строки:

"55":{"id":19410,"name":"\u0413\u0430\u0433\u0430\u0432\u0442\u0430\u044d","dir":"n","expansion_stage":3,"x":788,"y":648,"ox":472,"oy":147,"offer":"wood","demand":"stone","mood":100,"relation_status":1,"ratio":1.25,"loot":1342460846,"lootable_human":"16.07.12 \u0432 21:47","looted":1342460546},"56":{"id":19411,"name":"\u041a\u043e\u0433\u0430\u0445\u0438\u0434\u0440\u044d\u0439","dir":"n","expansion_stage":3,"x":788,"y":648,"ox":680,"oy":234,"offer":"stone","demand":"wood","mood":100,"relation_status":0,"ratio":1.25}


выбрать значения "id", "name" и "relation_status"?


preg_match_all ('#"id":([0-9]+),"name":"([^"]+)#i')

Так я получаю Id и name...
А вот как еще здесь же получить "relation_status"???

Пробовал так:

preg_match_all ('#"id":([0-9]+),"name":"([^"]+).*"relation_status":([0-9]+)#i')

Но получаю не то, что нужно...

Json_decode не подходит...
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
MrSecurity  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 78
Пользователь №: 33018
На форуме: 4 года, 6 месяцев, 6 дней
Карма:




Цитата
preg_match_all ('#"id":([0-9]+),"name":"([^"]+).*"relation_status":([0-9]+)#i')

попробуй вот так:
preg_match_all ('#"id":([0-9]+),"name":"([^"]+).*","relation_status":([0-9]+)#i')

а зачем решотка я так и не понял wink.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26055
Пользователь №: 21350
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 727

Не курю:
1 год, 3 месяца, 25 дней


Следи за ходом мысли:

$str = '"55":{"id":19410,"name":"\u0413\u0430\u0433\u0430\u0432\u0442\u0430\u044d","dir":"n","expansion_stage":3,"x":788,"y" :648,"ox":472,"oy":147,"offer":"wood",
"demand":"stone","mood":100,"relation_status":1,"ratio":1.25,"loot":1342460846,"lootable_human":"16.07.12 \u0432 21:47","looted":1342460546},"56":{"id":19411,"name":"\u041a\u043e\u0433\u0430\u0445\u0438\u0434\u0440\u044d\u0439","dir":"n","expansion_stage":3,"x":788,"y" :648,"ox":680,"oy":234,
"offer":"stone","demand":"wood","mood":100,"relation_status":0,"ratio":1.25}'
;

$json_str = '{'.$str.'}';

$json = json_decode($json_str, true);

echo '<pre>' . print_r($json, 1) . '</pre>';


Свернутый текст
Array
(
[55] => Array
(
[id] => 19410
[name] => Гагавтаэ
[dir] => n
[expansion_stage] => 3
[x] => 788
[y] => 648
[ox] => 472
[oy] => 147
[offer] => wood
[demand] => stone
[mood] => 100
[relation_status] => 1
[ratio] => 1.25
[loot] => 1342460846
[lootable_human] => 16.07.12 в 21:47
[looted] => 1342460546
)

[56] => Array
(
[id] => 19411
[name] => Когахидрэй
[dir] => n
[expansion_stage] => 3
[x] => 788
[y] => 648
[ox] => 680
[oy] => 234
[offer] => stone
[demand] => wood
[mood] => 100
[relation_status] => 0
[ratio] => 1.25
)

)

В итоге:

foreach($json as $data)
{
echo 'id: '.$data['id'].', name: '.$data['name'].', relation_status: '.$data['relation_status'].'<br />';
}


и вывод:

id: 19410, name: Гагавтаэ, relation_status: 1
id: 19411, name: Когахидрэй, relation_status: 0


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26055
Пользователь №: 21350
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 727

Не курю:
1 год, 3 месяца, 25 дней


MrSecurity
а решётка - это делемитеры паттерна регулярного выражения в данном случае wink.gif


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26055
Пользователь №: 21350
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 727

Не курю:
1 год, 3 месяца, 25 дней


кстати если уж работа с юникод строкой - то модификатор u не помешает smile.gif


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ArtemKrass  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 88
Пользователь №: 32702
На форуме: 4 года, 7 месяцев, 10 дней
Карма:




Ход мысли понятен... Я просто не могу из всего кода, который присылает мне сервер, выбрать нужный мне кусок с Json, если бы мне это удалось, проблема бы была решена...

Вот ответ сервера:
http://narod.ru/disk/56515222001.d06c63ea8...2/Json.doc.html

А мне нужно из всего этого кода забрать 8 строчек, где есть ID, Name и Relation_status и взять их значения...
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26055
Пользователь №: 21350
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 727

Не курю:
1 год, 3 месяца, 25 дней


блин.. ты бы ещё pdf на deposite выложил biggrin.gif


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ArtemKrass  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 88
Пользователь №: 32702
На форуме: 4 года, 7 месяцев, 10 дней
Карма:




Блин, ну если кодом писать, он в одну строку все выводит... Нечитаемо)))

Есть ли выход??? Я уже замучался...

Это сообщение отредактировал ArtemKrass - 17.07.2012 - 18:56
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26055
Пользователь №: 21350
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 727

Не курю:
1 год, 3 месяца, 25 дней


дай txt


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ArtemKrass  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 88
Пользователь №: 32702
На форуме: 4 года, 7 месяцев, 10 дней
Карма:




PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26055
Пользователь №: 21350
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 727

Не курю:
1 год, 3 месяца, 25 дней


$str = '"55":{"id":19410,"name":"\u0413\u0430\u0433\u0430\u0432\u0442\u0430\u044d","dir":"n","expansion_stage":3,"x":788,"y"  :648,"ox":472,"oy":147,
"offer":"wood","demand":&quo t;stone","mood":100,"relation_status":1,"ratio":1.25,"loot":1342460846,
"lootable_human":"16.07.12 \u0432 21:47","looted":1342460546},"56":{"id":19411,"name":"\u041a\u043e\u0433\u0430\u0445\u0438\u0434\u0440\u044d\u0439",
"dir":"n","expansion_stage":3,"x":788,"y" :648,"ox":680,"oy":234,"offer":"stone",
"demand":"wood","moo d":100,"relation_status":0,"ratio":1.25}'
;

preg_match_all("#\"id\"\:([0-9]+)#usU", $str, $ids);
preg_match_all("#\"name\"\:\"([^\"].+)\"#usU", $str, $names);
preg_match_all("#\"relation_status\"\:([0-9]+)#usU", $str, $relation_status);

echo '<pre>' . print_r($ids, 1) . '</pre>';
echo '<pre>' . print_r($names, 1) . '</pre>';
echo '<pre>' . print_r($relation_status, 1) . '</pre>';


Array
(
[0] => Array
(
[0] => "id":1
[1] => "id":1
)

[1] => Array
(
[0] => 1
[1] => 1
)

)
Array
(
[0] => Array
(
[0] => "name":"\u0413\u0430\u0433\u0430\u0432\u0442\u0430\u044d"
[1] => "name":"\u041a\u043e\u0433\u0430\u0445\u0438\u0434\u0440\u044d\u0439"
)

[1] => Array
(
[0] => \u0413\u0430\u0433\u0430\u0432\u0442\u0430\u044d
[1] => \u041a\u043e\u0433\u0430\u0445\u0438\u0434\u0440\u044d\u0439
)

)
Array
(
[0] => Array
(
[0] => "relation_status":1
[1] => "relation_status":0
)

[1] => Array
(
[0] => 1
[1] => 0
)

)


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ArtemKrass  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 88
Пользователь №: 32702
На форуме: 4 года, 7 месяцев, 10 дней
Карма:




Я видимо не правильно объяснил...
В общем мне нужно из всего этого:
http://phpforum.ru/html/counter/counter.ph...9/Json.txt.html

Выбрать это:
"54\":{\"id\":19409,\"name\":\"\\u0420\\u043e\\u0441\\u043d\\u043e\\u0441\\u043a\\u043e\\u043d\\u043e\\u0441\",\"dir\":\"n\",\"expansion_stage\":3,\"x\":788,\"y\":648,\"ox\":629,\"oy\":170,\"offer\":\"stone\",\"demand\":\"wood\",\"mood\":100,\"relation_status\":1,\"ratio\":1.25,\"loot\":1342173457,\"lootable_human\":\"13.07.12 \\u0432 13:57\",\"looted\":1342173157},\"55\":{\"id\":19410,\"name\":\"\\u0413\\u0430\\u0433\\u0430\\u0432\\u0442\\u0430\\u044d\",\"dir\":\"n\",\"expansion_stage\":3,\"x\":788,\"y\":648,\"ox\":472,\"oy\":147,\"offer\":\"wood\",\"demand\":\"stone\",\"mood\":100,\"relation_status\":1,\"ratio\":1.25,\"loot\":1342460846,\"lootable_human\":\"16.07.12 \\u0432 21:47\",\"looted\":1342460546},\"56\":{\"id\":19411,\"name\":\"\\u041a\\u043e\\u0433\\u0430\\u0445\\u0438\\u0434\\u0440\\u044d\\u0439\",\"dir\":\"n\",\"expansion_stage\":3,\"x\":788,\"y\":648,\"ox\":680,\"oy\":234,\"offer\":\"stone\",\"demand\":\"wood\",\"mood\":100,\"relation_status\":0,\"ratio\":1.25},\"57\":{\"id\":19412,\"name\":\"\\u0422\\u0430\\u0445\\u0438\\u0433\\u0430\",\"dir\":\"n\",\"expansion_stage\":3,\"x\":788,\"y\":648,\"ox\":694,\"oy\":296,\"offer\":\"stone\",\"demand\":\"wood\",\"mood\":100,\"relation_status\":0,\"ratio\":1.25},\"58\":{\"id\":19413,\"name\":\"\\u0420\\u043e\\u0442\\u0430\\u0440\\u043e\\u0441\\u044d\",\"dir\":\"n\",\"expansion_stage\":4,\"x\":788,\"y\":648,\"ox\":278,\"oy\":208,\"offer\":\"stone\",\"demand\":\"iron\",\"mood\":100,\"relation_status\":1,\"ratio\":1.25,\"loot\":1342460843,\"lootable_human\":\"16.07.12 \\u0432 21:47\",\"looted\":1342460543},\"59\":{\"id\":19414,\"name\":\"\\u0414\\u043e\\u043d\\u043e\\u0441\\u0433\\u0430\\u0444\\u043e\\u0441\",\"dir\":\"n\",\"expansion_stage\":3,\"x\":788,\"y\":648,\"ox\":228,\"oy\":265,\"offer\":\"wood\",\"demand\":\"iron\",\"mood\":100,\"relation_status\":1,\"ratio\":1.25,\"loot\":1342173456,\"lootable_human\":\"13.07.12 \\u0432 13:57\",\"looted\":1342173156},\"60\":{\"id\":19415,\"name\":\"\\u041d\\u044d\\u0439\\u0440\\u043e\\u0441\",\"dir\":\"n\",\"expansion_stage\":3,\"x\":788,\"y\":648,\"ox\":589,\"oy\":365,\"offer\":\"iron\",\"demand\":\"wood\",\"mood\":100,\"relation_status\":0,\"ratio\":1.25},\"61\":{\"id\":19416,\"name\":\"\\u0421\\u0442\\u0440\\u0430\\u0439\\u043d\\u043e\\u0441\\u043a\\u043e\\u0443\\u0441\",\"dir\":\"n\",\"expansion_stage\":3,\"x\":788,\"y\":648,\"ox\":772,\"oy\":274,\"offer\":\"stone\",\"demand\":\"wood\",\"mood\":100,\"relation_status\":0,\"ratio\":1.25}

т.е. те строки, где есть relation_status

И на выходе получить примерно это:

19409 - \\u0420\\u043e\\u0441\\u043d\\u043e\\u0441\\u043a\\u043e\\u043d\\u043e\\u0441 - 1
19410 - \\u0413\\u0430\\u0433\\u0430\\u0432\\u0442\\u0430\\u044d - 1
19411 - \\u041a\\u043e\\u0433\\u0430\\u0445\\u0438\\u0434\\u0440\\u044d\\u0439 - 0
19412 - \\u0422\\u0430\\u0445\\u0438\\u0433\\u0430 - 0
19413 - \\u0420\\u043e\\u0442\\u0430\\u0440\\u043e\\u0441\\u044d - 1
19414 - \\u0414\\u043e\\u043d\\u043e\\u0441\\u0433\\u0430\\u0444\\u043e\\u0441 - 1
19415 - \\u041d\\u044d\\u0439\\u0440\\u043e\\u0441 - 0
19416 - \\u0421\\u0442\\u0440\\u0430\\u0439\\u043d\\u043e\\u0441\\u043a\\u043e\\u0443\\u0441 - 0

Т.е. мне нужно выбрать ТОЛЬКО те значения ID и Name, где есть relation_status...
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26055
Пользователь №: 21350
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 727

Не курю:
1 год, 3 месяца, 25 дней


ну.. ты походу вообще необъяснил)) ща глянем


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ArtemKrass  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 88
Пользователь №: 32702
На форуме: 4 года, 7 месяцев, 10 дней
Карма:




Цитата (Игорь_Vasinsky @ 17.07.2012 - 17:13)
ну.. ты походу вообще необъяснил)) ща глянем

Дико извиняюсь... Просто второй день уже пытаюсь что-нибудь выдумать... Голова кругом!

Мне бы помогло что-то типа этого:
'#"id":([0-9]+),"name":"([^"]+).*"relation_status":([0-9]+)#i'

Но .* срабатывает не так как нужно...
Пробовал и .*? все не то...

Я пытаюсь .* заменить группу символов стоящих между значением name и relation_status, но не получается...

Это сообщение отредактировал ArtemKrass - 17.07.2012 - 21:35
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ArtemKrass  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 88
Пользователь №: 32702
На форуме: 4 года, 7 месяцев, 10 дней
Карма:




Игорь Help Me!!! Одна надежда на тебя...
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (4) [1] 2 3 ... Последняя » Закрытая темаСоздание новой темыСоздание опроса