Foros del Web » Programando para Internet » PHP »

Expresión regular para eliminar fragmentos de texto en un archivo

Estas en el tema de Expresión regular para eliminar fragmentos de texto en un archivo en el foro de PHP en Foros del Web. Hola amigos, tengo una duda con una expresión regular. El tema es que tengo un diccionario en un archivo .txt y quisiera eliminar la parte ...
  #1 (permalink)  
Antiguo 15/03/2012, 08:59
 
Fecha de Ingreso: abril-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Expresión regular para eliminar fragmentos de texto en un archivo

Hola amigos, tengo una duda con una expresión regular. El tema es que tengo un diccionario en un archivo .txt y quisiera eliminar la parte de los antónimos y ciertos caracteres como doble barra (//) y algunas abreviaturas como (ant.), (cont.), etc.
Para empezar, me he creado un pequeño script php donde escribo en otro txt y sustituyo dichas expresiones. Pero la principal dificultad se me plantea con los fragmentos de texto que no me interesan, los antónimos. he probado con esto:

Normalmente comienza con la abreviatura ant. sigue con una cadena de texto donde hay espacios, comas, finales de línea y termina en un punto

Cita:
Ant. Oclusión, cerramiento,
obturación, clausura,
cierre.
Por lo tanto probé con esto

[/CODE]
$archivotexto = file_get_contents ("sinonimos.txt");

$texto = preg_replace ("/(ant)\.[[:alnum:]]\./i", "", $archivotexto);

$fp = fopen("sinonimos2.txt","w");
fwrite($fp, $texto);
fclose($fp);

[/CODE]
sin embargo no me funciona, podríais arrojarme algo de luz? Gracias
  #2 (permalink)  
Antiguo 16/03/2012, 02:23
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Expresión regular para eliminar fragmentos de texto en un archivo

Por qué no funciona??
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 16/03/2012, 06:59
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Expresión regular para eliminar fragmentos de texto en un archivo

Algo así tendría q funcionarte
Código PHP:
Ver original
  1. <?php
  2.  
  3. $foo = "aaa Ant. Oclusión,
  4. cerramiento,obturación,
  5. clausura,cierre. bbb";
  6. $texto = preg_replace ("/(Ant\.)(.|\n)*\./", "", $foo);
  7.  
  8. echo $texto; //aaa bbb
  9. ?>
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Última edición por h2swider; 16/03/2012 a las 07:05
  #4 (permalink)  
Antiguo 16/03/2012, 08:44
 
Fecha de Ingreso: abril-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Expresión regular para eliminar fragmentos de texto en un archivo

Como tengo que hacerlo en el texto completo, unas 400 páginas; también tendría que escribirlo después en el txt. Finalmente he encontrado la forma de llevarlo a cabo en Microsoft word; activando la búsqueda mediante caracteres comodín.

Sería:

Código:
<(Ant)>[.]*[.]
Y para eliminar algunas abrebiaturas como "(Cont.)
Código:
[(]<(Cont)>[.][)]
Gracias por la aportación de todas formas ;)
  #5 (permalink)  
Antiguo 16/03/2012, 09:13
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Expresión regular para eliminar fragmentos de texto en un archivo

Cita:
Iniciado por Mutis99 Ver Mensaje
Como tengo que hacerlo en el texto completo, unas 400 páginas; también tendría que escribirlo después en el txt. Finalmente he encontrado la forma de llevarlo a cabo en Microsoft word; activando la búsqueda mediante caracteres comodín.

Sería:

Código:
<(Ant)>[.]*[.]
Y para eliminar algunas abrebiaturas como "(Cont.)
Código:
[(]<(Cont)>[.][)]
Gracias por la aportación de todas formas ;)
La respuesta que te di con expresiones regulares funciona perfecto
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 16/03/2012, 09:14
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Expresión regular para eliminar fragmentos de texto en un archivo

Código PHP:
Ver original
  1. $archivotexto = file_get_contents ("sinonimos.txt");
  2.  
  3. $texto = preg_replace ("/(Ant\.)(.|\n)*\./", "", $archivotexto );
  4.  
  5. $fp = fopen("sinonimos2.txt","w");
  6. fwrite($fp, $texto);
  7. fclose($fp);
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:23.