Tema: Script en C
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/11/2014, 14:01
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 5 meses
Puntos: 83
Respuesta: Script en C

Suponiendo que el texto lo tienes en memoria (si lo tienes en un archivo, lo cargas en memoria y sigues).

Sea este el texto en memoria:

Código C:
Ver original
  1. char text[] = "esto es <del>una prueba de texto</del> para ver como funciona";

Primero buscas los tags de inicio y final con strstr (o como quieras):

Código C:
Ver original
  1. char tag_ini[] = "<del>";
  2. char tag_end[] = "</del>";
  3. char *pstr_ini, *pstr_end;
  4.  
  5. pstr_ini = strstr(text, tag_ini);
  6. pstr_end = strstr(text, tag_end);

Con esto obtienes punteros al primer caracter de cada tag, de ahi puedes encontrar las posiciones de los caracteres:

Código C:
Ver original
  1. unsigned long p_ini, p_end;
  2.  
  3. p_ini = pstr_ini - text;
  4. p_end = pstr_end - text - 1;

Y ya lo tienes, solo has de recuperar los caracteres que esten en posicion menor que p_ini y mayor que p_end. Con esto omitiras del primer tag hasta antes del ultimo.

Recuerda que como siempre hay que hacer algunas comprovaciones de error, como por ejemplo el caso que en el texto proporcionada no hubiera los tags (el strstr retorna 0 si no encuentra coincidencias).

Saludos
vosk