Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/03/2013, 20:11
cachusan
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 13 años, 2 meses
Puntos: 31
Respuesta: Cambiar claves/valores a array multidimensional

Fijate si te sirve así:

Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Indice</title>
  6. <style type="text/css">
  7.     * { margin: 0; padding: 0; }
  8.     body { font: normal normal normal 13px Lucida Sans Unicode; background: #fff; }
  9. </style>
  10. </head>
  11. <body>
  12. <?php
  13. $html ='
  14. <ul>
  15.    <li>Caso 1 (Art. 500).</li>
  16.    <li>Caso 2 (Art. 600-a).</li>
  17.    <li>Caso 3 (Art. 700 y 1000).</li>
  18.    <li>Caso 4 (Art. 800-a y 1000).</li>
  19.    <li>Caso 5 (Art. 900 y 1000-a).</li>
  20.    <li>Caso 6 (Art. 999-a y 1000-b).</li>
  21.    <li>Caso 7 (Art. 320, 497, 68, 5, 2360-e, 410 y 903).</li>
  22. </ul>';
  23.  
  24. $patron = "/\(Art. .*\)/";
  25. preg_match_all($patron , $html , $coinc);
  26.  
  27. $array = array();
  28.  
  29. foreach ($coinc[0] as $k => $v) {
  30.     $replace = preg_replace('/\(Art. (.*)\)/' , '$1' , $v);
  31.     $array[$k] = preg_split('/, | y /' , $replace);
  32.     if(count($array[$k]) == 1){
  33.         $array[$k] = '<a href="http://sitio.com/art-'.$replace.'">'.$replace.'</a>';  
  34.     }else{
  35.         foreach($array[$k] as $key => $value){
  36.             $array[$k][$key] = '<a href="http://sitio.com/art-'.$value.'">'.$value.'</a>';
  37.         }
  38.     }
  39. }
  40.  
  41. echo '<pre style="background: #efefef; font-family: Lucida Console; padding: 8px;margin-bottom: 8px;">'. print_r($array , true) .'</pre>';
  42. ?>
  43. </body>
  44. </html>

Saludos