Как я могу обработать эту строку, чтобы я получил массив, который просто содержит полное имя и связанный jpg URL для каждой сущности? - PullRequest
1 голос
/ 04 декабря 2011

У меня есть следующая строка, которая мне нужна, чтобы извлечь полное имя плюс URI / URL, связанный с ним, в массив для каждого. Он не построен, как типичные данные, поэтому я не уверен, что делать дальше. Сначала я думал, что взорваться, но в начале «ненужные» данные не нужны, поэтому мне нужен способ, возможно, сначала очистить данные? Но, может быть, есть эффективный способ сделать это за один или два шага / этапа, чтобы мой код был эффективным? После некоторого исследования я думаю mb_split (), но я очень плох в построении регулярных выражений. Здесь нужно какое-то направление ...

В моем примере ниже вы можете увидеть шаблон данных, который появляется после первоначального «мусора». 3-я «строка» для каждой формирующейся группы - это то место, где находится мясо (или данные), которое я ищу. Первая строка в этой первой группе в 3-м ряду в примере - «Аманда Гридер». Это полное имя и его позиция в примере возвращаемых данных, который я ищу в каждой группе. Далее в этом ряду URI / URL для изображения jpg, которое является вторым фрагментом данных, которые я ищу. Все остальное, насколько я понимаю, является мусором и может быть брошено.

Какой самый быстрый и эффективный способ обработать этот кусок и получить значения, которые я ищу, в массив, чтобы я мог использовать это в своей работе?

(Кстати, следующий код, который я вручил, добавил символы возврата, чтобы сделать данные более понятными. На самом деле символов возврата нет, и он представлен в виде одной большой строки)

[
  [
    "tsg.lac",
    [],
    [
        [
            [null,null,"100829745667958569941"],
            [],
            ["Amanda Grider",null,null,null,"4b3347c83f0a1","8nwbFHob02C8CmojHF","BoZrAHx801Rz8o3h8k",null,"https://lh3.googleusercontent.com/-zIK8ZN_ZDt8/AAAAAAAAAAI/AAAAAAAAAAA/fsiR92bLDlU/photo.jpg",null,1,"Marina del Rey, CA",null,null,null,0,null,[],null,null,null,""],
            []
        ],[
            [null,null,"115014076410206782853"],
            [],
            ["VWvortex",null,null,null,"4b13c6667b3c9","JKCGFo_CApJ","JKCGFo_CApJ",null,"//lh6.googleusercontent.com/-X_wSt8nwpOU/AAAAAAAAAAI/AAAAAAAAACQ/R_jcIPcegbM/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://WWW.VWVORTEX.COM",null,null,3],null,null,"World's largest Volkswagen enthusiast community and blog."],
            []
        ],[
            [null,null,"102608018926739248428"],
            [],
            ["Wale",null,null,null,"4b1ded89a3721","JmRxAk","JmRxAk",null,"//lh4.googleusercontent.com/-xyeyjc4Avow/AAAAAAAAAAI/AAAAAAAAABU/SY-9EKeDnhw/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://www.ralphfolarin.com/",null,null,6],null,null,""],
            []
        ],[
            [null,null,"114161985228080012446"],
            [],
            ["The Opus Rhythm Music Blog",null,null,null,"4b177a5207d09","IIJj03C4Iog3HIKMIIJz02xEHnRf01ZxFnB","IIJj03C4Iog3HIKMIIJz02xEHnRf01ZxFnB",null,"//lh5.googleusercontent.com/-4QRl1IgDCLU/AAAAAAAAAAI/AAAAAAAAABI/pVoxTQ7SH8Y/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://www.bacchusentertainment.com",null,null,6],null,null,"We are the team music blog of Bacchus Entertainment"],
            []
        ],[
            [null,null,"114645267718535118440"],
            [],
            ["Jalopnik",null,null,null,"4b12fccb6f809","DHRxFoK0Cng","DHRxFoK0Cng",null,"//lh6.googleusercontent.com/-_M1nn9mKyY8/AAAAAAAAAAI/AAAAAAAAABI/aXhkyN7cuuk/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://jalopnik.com/",null,null,3],null,null,"Jalopnik: Drive Free or Die"],
            []
        ],[
            [null,null,"105503202599719238167"],
            [],
            ["Audi USA",null,null,null,"4b14db7535e99","8owhCkGEHmR","8owhCkGEHmR",null,"//lh3.googleusercontent.com/-mHHyVhWfARE/AAAAAAAAAAI/AAAAAAAAAC4/Qn0lYbilT8M/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://www.audiusa.com","(800) 822-2834",null,3],null,null,"Progress is social media, and listening, and fans, and Google+. So here we are."],
            []
        ],[
            [null,null,"104108787932235341403"],
            [],
            ["Audi Sport",null,null,null,"4b23243c864b1","8owhCkGAGJC8IF","8owhCkGAGJC8IF",null,"//lh4.googleusercontent.com/-jGBNL9dbwYs/AAAAAAAAAAI/AAAAAAAAAUA/pgsAqvaX8XM/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://www.facebook.com/AudiSportPage",null,null,6],null,null,"Unofficial Audi Sport fan page, not affiliated with or endorsed by Audi AG."],
            []
        ],[
            [null,null,"106689856342933829975"],
            [],
            ["Volkswagen USA",null,null,null,"4b20ca9b7fa69","JJBxDohI8nBjFFGEHmR","JJBxDohI8nBjFFGEHmR",null,"//lh5.googleusercontent.com/-i3MO9CsymQ8/AAAAAAAAAAI/AAAAAAAAAB4/ddmTW3D8s20/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://www.vw.com","(800) 822-8987",null,3],null,null,"Take a look around, kick the tires, ask questions and get to know our community."],
            []
        ],[
            [null,null,"115425298803319911308"],
            [],
            ["Internal Frequency",null,null,null,"4b177b6d46119","Co4CAo_08no3BJZjGowjFHhM","Co4CAo_08no3BJZjGowjFHhM",null,"//lh4.googleusercontent.com/-lZeecuGL3Ig/AAAAAAAAAAI/AAAAAAAAABk/Afv5eGuBzUM/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://www.internalfrequency.com",null,null,6],null,null,"The 1st hand ups-and-downs of the CEO of an up-and-coming entertainment label in Southern California"],
            []
        ],[
            [null,null,"101358795463286919640"],
            [],
            ["Music Think Tank",null,null,null,"4b1947fea8251","EoxACmg3IIJrFIg3IHS0Dk","EoxACmg3IIJrFIg3IHS0Dk",null,"//lh4.googleusercontent.com/-B2KTfl4uNyE/AAAAAAAAAAI/AAAAAAAAACM/N955ZhPV08E/photo.jpg",null,1,null,null,null,null,0,null,[],[null,"http://www.musicthinktank.com",null,null,6],null,null,"Where the music industry speaks out loud. Create the Chaos."],
            []
        ]
    ]
  ]
]

UPDATE:

Поэтому я наткнулся на что-то и обнаружил, что данные на самом деле являются допустимыми JSON, действительно декодируются и передаются обратно, но все же что-то странное и кажется очень сложным (слишком сложным для того, что мне нужно). Я использую json_decode () для вставки данных, которые затем присваиваются переменной $ jsondata. Сразу после этого я добавил следующее:

print_r ( print_r($jsondata));

Я получил это (я добавил символы возврата, чтобы это было более понятным и легко читаемым):

Array ( 
[0] => Array (
    [0] => tsg.lac [1] => Array () [2] => Array (
        [0] => Array (
            [0] => Array (
                [0] => [1] => [2] => 100829745667958569941 ) 
            [1] => Array ( ) 
            [2] => Array (
                [0] => Amanda Grider [1] => [2] => [3] => [4] => 4b33843806e03 [5] => 8nwbFHob02C8CmojHF [6] => BoZrAHx801Rz8o3h8k [7] => [8] => https://lh3.googleusercontent.com/-zIK8ZN_ZDt8/AAAAAAAAAAI/AAAAAAAAAAA/fsiR92bLDlU/photo.jpg [9] => [10] => 1 [11] => Marina del Rey, CA [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => [19] => [20] => [21] => ) 
            [3] => Array ( )
        )
        [1] => Array (
            [0] => Array (
                [0] => [1] => [2] => 115014076410206782853 )
            [1] => Array ( )
            [2] => Array (
                [0] => VWvortex [1] => [2] => [3] => [4] => 4b13c6667b3c9 [5] => JKCGFo_CApJ [6] => JKCGFo_CApJ [7] => [8] => //lh6.googleusercontent.com/-X_wSt8nwpOU/AAAAAAAAAAI/AAAAAAAAACQ/R_jcIPcegbM/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://WWW.VWVORTEX.COM [2] => [3] => [4] => 3 ) [19] => [20] => [21] => World's largest Volkswagen enthusiast community and blog. ) 
            [3] => Array ( )
        )
        [2] => Array (
            [0] => Array (
                [0] => [1] => [2] => 102608018926739248428 )
            [1] => Array ( )
            [2] => Array (
                [0] => Wale [1] => [2] => [3] => [4] => 4b1ded89a3721 [5] => JmRxAk [6] => JmRxAk [7] => [8] => //lh4.googleusercontent.com/-xyeyjc4Avow/AAAAAAAAAAI/AAAAAAAAABU/SY-9EKeDnhw/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://www.ralphfolarin.com/ [2] => [3] => [4] => 6 ) [19] => [20] => [21] => )
            [3] => Array ( )
        ) 
        [3] => Array (
            [0] => Array (
                [0] => [1] => [2] => 114161985228080012446 )
            [1] => Array ( )
            [2] => Array ( 
                [0] => The Opus Rhythm Music Blog [1] => [2] => [3] => [4] => 4b177a5207d09 [5] => IIJj03C4Iog3HIKMIIJz02xEHnRf01ZxFnB [6] => IIJj03C4Iog3HIKMIIJz02xEHnRf01ZxFnB [7] => [8] => //lh5.googleusercontent.com/-4QRl1IgDCLU/AAAAAAAAAAI/AAAAAAAAABI/pVoxTQ7SH8Y/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://www.bacchusentertainment.com [2] => [3] => [4] => 6 ) [19] => [20] => [21] => We are the team music blog of Bacchus Entertainment )
            [3] => Array ( )
        ) 
        [4] => Array (
            [0] => Array (
                [0] => [1] => [2] => 114645267718535118440 )
            [1] => Array ( )
            [2] => Array (
                [0] => Jalopnik [1] => [2] => [3] => [4] => 4b12fccb6f809 [5] => DHRxFoK0Cng [6] => DHRxFoK0Cng [7] => [8] => //lh6.googleusercontent.com/-_M1nn9mKyY8/AAAAAAAAAAI/AAAAAAAAABI/aXhkyN7cuuk/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://jalopnik.com/ [2] => [3] => [4] => 3 ) [19] => [20] => [21] => Jalopnik: Drive Free or Die )
            [3] => Array ( )
        ) 
        [5] => Array (
            [0] => Array (
                [0] => [1] => [2] => 105503202599719238167 )
            [1] => Array ( )
            [2] => Array (
                [0] => Audi USA [1] => [2] => [3] => [4] => 4b14db7535e99 [5] => 8owhCkGEHmR [6] => 8owhCkGEHmR [7] => [8] => //lh3.googleusercontent.com/-mHHyVhWfARE/AAAAAAAAAAI/AAAAAAAAAC4/Qn0lYbilT8M/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://www.audiusa.com [2] => (800) 822-2834 [3] => [4] => 3 ) [19] => [20] => [21] => Progress is social media, and listening, and fans, and Google+. So here we are. )
            [3] => Array ( )
        ) 
        [6] => Array (
            [0] => Array (
                [0] => [1] => [2] => 104108787932235341403 )
            [1] => Array ( )
            [2] => Array (
                [0] => Audi Sport [1] => [2] => [3] => [4] => 4b23243c864b1 [5] => 8owhCkGAGJC8IF [6] => 8owhCkGAGJC8IF [7] => [8] => //lh4.googleusercontent.com/-jGBNL9dbwYs/AAAAAAAAAAI/AAAAAAAAAUA/pgsAqvaX8XM/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://www.facebook.com/AudiSportPage [2] => [3] => [4] => 6 ) [19] => [20] => [21] => Unofficial Audi Sport fan page, not affiliated with or endorsed by Audi AG. )
            [3] => Array ( )
        ) 
        [7] => Array (
            [0] => Array (
                [0] => [1] => [2] => 106689856342933829975 )
            [1] => Array ( ) 
            [2] => Array (
                [0] => Volkswagen USA [1] => [2] => [3] => [4] => 4b20ca9b7fa69 [5] => JJBxDohI8nBjFFGEHmR [6] => JJBxDohI8nBjFFGEHmR [7] => [8] => //lh5.googleusercontent.com/-i3MO9CsymQ8/AAAAAAAAAAI/AAAAAAAAAB4/ddmTW3D8s20/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://www.vw.com [2] => (800) 822-8987 [3] => [4] => 3 ) [19] => [20] => [21] => Take a look around, kick the tires, ask questions and get to know our community. )
            [3] => Array ( )
        ) 
        [8] => Array (
            [0] => Array (
                [0] => [1] => [2] => 115425298803319911308 )
            [1] => Array ( ) 
            [2] => Array (
                [0] => Internal Frequency [1] => [2] => [3] => [4] => 4b177b6d46119 [5] => Co4CAo_08no3BJZjGowjFHhM [6] => Co4CAo_08no3BJZjGowjFHhM [7] => [8] => //lh4.googleusercontent.com/-lZeecuGL3Ig/AAAAAAAAAAI/AAAAAAAAABk/Afv5eGuBzUM/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://www.internalfrequency.com [2] => [3] => [4] => 6 ) [19] => [20] => [21] => The 1st hand ups-and-downs of the CEO of an up-and-coming entertainment label in Southern California )
            [3] => Array ( )
        ) 
        [9] => Array (
            [0] => Array ( 
                [0] => [1] => [2] => 101358795463286919640 )
            [1] => Array ( )
            [2] => Array (
                [0] => Music Think Tank [1] => [2] => [3] => [4] => 4b1947fea8251 [5] => EoxACmg3IIJrFIg3IHS0Dk [6] => EoxACmg3IIJrFIg3IHS0Dk [7] => [8] => //lh4.googleusercontent.com/-B2KTfl4uNyE/AAAAAAAAAAI/AAAAAAAAACM/N955ZhPV08E/photo.jpg [9] => [10] => 1 [11] => [12] => [13] => [14] => [15] => 0 [16] => [17] => Array ( ) [18] => Array ( [0] => [1] => http://www.musicthinktank.com [2] => [3] => [4] => 6 ) [19] => [20] => [21] => Where the music industry speaks out loud. Create the Chaos. )
            [3] => Array ( )
        )
    )
)
) 1

Теперь это МНОГО массивов! Мало того, мне нужен только вложенный массив [2], с которого начинается имя, и только с этими значениями [0] и [8]! Затем я получаю сообщение об ошибке, когда запускается следующая строка (ниже), но меня это меньше беспокоит, я хочу знать, как я могу обрезать эти данные, чтобы они не превратились в проблему с памятью ...

$visiblepeople = $jsondata[2];

1 Ответ

1 голос
/ 04 декабря 2011

Для меня это выглядит как JSON (http://www.json.org), и, таким образом, вы можете использовать любую реализацию JSON для его анализа. Для Python есть модуль с именем ... json ;-) Смотрите http://docs.python.org/library/json.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...