Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/03/2015, 13:11
MMan
 
Fecha de Ingreso: febrero-2015
Mensajes: 61
Antigüedad: 9 años, 2 meses
Puntos: 15
Respuesta: como eliminar espacios demas con expresiones regulares

$var="mi mama <b>me mima</b> mucho";

se me ocurre que.. primero tendrias que aislar lo que esta dentro de los tags ( <b> </b> )

muchos caracteres .*
seguido de un tag <.*>
seguido de otros muchos caracteres .* <--- me mima
seguido de un tag que cierra <\/.*>
y finaliza con otros muchos caracteres .*

.*<.*>.*<\/.*>.*

como quieres mantener toda la cadena.... creas grupos para poder luego recuperar los pedazos
(.*<.*>) <--- lo que esta antes de
(.*) <<--- "me mima"
(<\/.*>.*) <-- lo que esta despues de


(.*<.*>)(.*)(<\/.*>.*)

Código PHP:
Ver original
  1. $var="mi       mama <b>me      mima</b> mucho";  
  2.  
  3. preg_match_all('/(.*<.*>)(.*)(<\/.*>.*)/', $var, $coincidencias);
  4. //print_r($coincidencias);
  5. echo $coincidencias[1][0].preg_replace('/\s\s+/', ' ', $coincidencias[2][0]).$coincidencias[3][0];