2014-02-08 5 views
0

У меня есть один массив, и я хочу, чтобы заполнить от 2 foreachPHP заполнить массив из двух Еогеасп

preg_match_all('/<div[^>]+class="titr2"[^>]*>\s*<a[^>]+>(.*?)<\/a>\s*<\/div>/si', file_get_contents($handle), $names); 


$other = array(); 

foreach ($names[0] as $value) { 

    $pattern = '/<a[^>]*>(.*?)<\/a>/si'; 
    preg_match($pattern, $value, $matches); 

    $name['A'] = $matches[1]; 
    $other[] = $name; 
} 

preg_match_all('/<\/a><\/div>(.*?)\s*<div[^>]+class="toolz"[^>]*>\s*/si', file_get_contents($handle), $other); 
foreach ($other[1] as $value) { 

    $default = preg_replace('/<img[^>]*>(.*)\/>/is', "", $value); 
    $default = explode('<br />', $default); 

    $name['B'] = $default[0]; 
    $name['C'] = $default[1]; 
    $other[]=$name; 
} 
echo"<pre>";print($other);echo"</pre>"; 

я хочу иметь, как этот результат:

$other = array 
(
    0 => array 
     (
      'A' => 'aaaaaaaaaaaa', 
      'B' => 'bbbbbbbbbbbb', 
      'C' => 'cccccccccccc' 
     ), 
    1 => array 
     (
      'A' => 'dddddddddddd', 
      'B' => 'eeeeeeeeeeee', 
      'C' => 'ffffffffffff' 
     ), 
    2 => array 
     (
      'A' => 'gggggggggggg', 
      'B' => 'hhhhhhhhhhhh', 
      'C' => 'iiiiiiiiiiii' 
     )     
); 

ОБНОВЛЕНО:

Current Result:

+1

Каков текущий результат? Помогло бы, если бы вы могли добавить образец файла, с которым работаете. –

+0

@AmalMurali это заполняет плохие массивы без нужных строк –

+0

Это не совсем ответит на вопрос, какие точные результаты вы получите.) Пожалуйста, просто покажите var_dump() того, что вы в настоящее время получаете. –

ответ

2
preg_match_all('/<div[^>]+class="titr2"[^>]*>\s*<a[^>]+>(.*?)<\/a>\s*<\/div>/si', file_get_contents($handle), $names); 


$result = array('A'=>array(), 'B'=>array(), 'C'=>array()); 

foreach ($names[0] as $value) { 

    $pattern = '/<a[^>]*>(.*?)<\/a>/si'; 
    preg_match($pattern, $value, $matches); 
    foreach ($matches[1] as $match){ 
     $result['A'][] = $match; 
    } 
} 

preg_match_all('/<\/a><\/div>(.*?)\s*<div[^>]+class="toolz"[^>]*>\s*/si', file_get_contents($handle), $other); 
foreach ($other[1] as $value) { 

    $default = preg_replace('/<img[^>]*>(.*)\/>/is', "", $value); 
    $default = explode('<br />', $default); 

    $result['B'][] = $default[0]; 
    $result['C'][] = $default[1]; 
} 
echo"<pre>";print($result);echo"</pre>"; 
Смежные вопросы