Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/09/2003, 09:14
leonardop
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola Nark,

En realidad tus aproximaciones a las expresiones correspondientes a los dos primeros casos están muy bien. Se ve que tienes un dominio considerable de las expresiones regulares.

Respecto al caso 3, lo que puedes usar es una función del tipo preg_split() (en caso de que estés usando expresiones regulares estilo Perl).

Por ejemplo:

Código:
<?php

echo "<pre>\n";

$cadena = '<b>negrita</b>|*azul*||*2h*|<u>subrayado</u>|*verde*|' .
          '<h1>titulo</h1><i>italica</i>|*12v*|';


// Caso A

echo "\nCaso A:\n\n";

preg_match_all ('/\\|\\*(.*?)\\*\\|/', $cadena, $coincidencias);

$array = $coincidencias[1];

print_r ($array);


// Caso B

echo "\nCaso B:\n\n";

preg_match_all ('/\\|\\*(\\d{1,2}[hv])\\*\\|/', $cadena, $coincidencias);

$array = $coincidencias[1];

print_r ($array);


// Caso C

echo "\nCaso C:\n\n";

$array = preg_split ('/\\|\\*|\\*\\|/', $cadena, -1, PREG_SPLIT_NO_EMPTY);

print_r ($array);


echo "</pre>\n";

?>
Un cordial saludo