Foros del Web » Programando para Internet » PHP »

Organización de texto

Estas en el tema de Organización de texto en el foro de PHP en Foros del Web. Hola, queria que me orientariais en un script creado por mi. La funcion del script es: tengo en una página un textarea y dentro del ...
  #1 (permalink)  
Antiguo 30/04/2003, 09:49
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Organización de texto

Hola, queria que me orientariais en un script creado por mi. La funcion del script es: tengo en una página un textarea y dentro del pongo una información, por ejemplo así: Localización: Moaña Especie: Hiamnthalia Genero: elongata. Y ahora envio esa información a otra página que lo que hace es crearme una etiqueta, es decir me organiza el texto así (por ej.):

Especie: Himanthalia elongata
Localización: Moaña

Yo lo hice con un explode, que separara "Localización:" del lugar donde se encontro la especie, pero si pòngo más texto coje también el texto:
Por ejemplo pogon el el textarea
Localización: Moaña (asi el sript funciona)

pero si pongo así:

Localización: Moaña Especie: Himanthalia (entonces en la pagina donde se organiza el texto pone: "Localización: Moaña Especie: Himanthalia")

Entonces yo lo que quiero es que al llegar al primer espacio pare de recojer información.

Saludo, espero que me podais ayudar

PD: Si no me entendeis decirmelo que lo intento explicar mejor.
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #2 (permalink)  
Antiguo 30/04/2003, 11:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Y tiene que ser en un "<texarea>" .. ???

Si sabes que hay un dato que es "localizacion" .. otro dato que es "Especie" y no sé si tendras más datos identificados .. ¿Por qué no usas un <input> para cada uno de esos datos .. ?

Así tendras en tu script donde envies el "action" de tu formulário una variable por cada "dato" según el nombre de cada <input> ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 30/04/2003, 11:32
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Si, eso ya lo sabria hacer, pero es que imaginate, son millones de etiquetas y si tenemos que escribir el nombre de la especie la localización es mucho, aparte de que no solo son esos campos son entre 10 o 15. Por eso lo que queremos hacer es por ej. cojemos un articulo, lo pasamos por un ocr lo guardamos en formato texto, copiamos y lo pegamos en este textarea de manera que el programa nos quita cantidad de trabajo, asi seria automatico, solo pegar y darle al botón y simplemente copiar la etiqueta. No se si me entiendes, yo estube dandole vueltas varias noche pero no se me ocurre. Como no lo haga de otra manera. Tengo otro programa que lo que hace es sacar de un registro una serie de palabras que estan separadas así: "Himanthalia","elongata","Moaña" Lo entiendes la palabra que esta entre las dos comillas es la especie, la segunda palabra es el genero y la tercera es el lugar donde se encontro. Intente hacer un programa para la generación de etiquetas mediante esa información entre comillada. JODER AHORA EXPLICANDOTELO SE ME ACABA DE OCURRIR COMO HACER ESTE SCRIPT CON ESTA INFORMACION ENTRE COMILLADA, GRACIAS
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #4 (permalink)  
Antiguo 30/04/2003, 11:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues ese formato que dices es CSV (registros separados por salto de línea y campos por comas ...)

Si mantienes esa estructura en esos datos que vas a pasar por tu OCR .. puedes cojer ese archivo y subirlo al servidor .. en el servidor lo "lees" y lo procesas. No hace falta que andes con formularios por médio.

En resumen .. tienes que tener alguna forma de indentificar a tus "campos" y a tus "registros" .. para poder pasarle funciones como explode() al caracter , (coma) por ejemplo (no es necesario ni que uses "" comillas a no ser que el propio dado de algún campo pudiera contener una coma .. (Un separador de campos que se suele usar mucho es el: | )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 30/04/2003, 12:19
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Ya me funciona básicamente, aunque tengo un problema, como los resultados que me da la base de datos me los da así: "Himanthalia","elengata","Moaña" entonces como hago en el explode para poner "," yo puse así pero no me ba:

Código PHP:
$xy explode("",""$etiqueta); 
así tampoco:

Código PHP:
$xy explode('","'$etiqueta); 
solo me va asi:

Código PHP:
$xy explode(","$etiqueta); 
pero así me muestra así la palabra: \"Himanthalia\"
¿Que tengo que poner en el explode?

Y otra duda esta es muy grave no se si tendrá solución:
tengo la especie pero la especie lleva consigo y que la descubrio es así: Crocus carpetanus Boiss. & Reut. y ahora necesito que Crocus carpetanus salga en negrita y que Boiss. & Reut. salga en cursiva, date cuenta que es la misma variable, osea es: $xy[1] = Crocus carpetanus Boiss. & Reut. Como se puede hacer para que en una misma variable un contenido este en negrita y otro en cursiva?¿es posible?

Un saludo, espero que me podais ayudar.
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #6 (permalink)  
Antiguo 30/04/2003, 13:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si con explode() al caracter coma (,) ya tienes tu "campo" .. puedes pasarle un str_replace(""","",$variable) para eliminar esas comillas .. Prévio a esto deberias usar stripslashes() para elmilar el carcter de escape de \" ...

Con respecto a lo segundo .. OK, tienes esa cadena en una variable .. ahora te tocará aplicar otro explode() a no se que caracter que uses como delimitador (tal vez el espacio? o ese & ...) para obtener 2 variables y poder aplicarle tu formato HTML .. O bien te metes con expresiones reglares, pero antes de nada deberas buscar un patrón de ese tipo de cadenas.

En general .. repasa el manual de php y mirate las numerosas funciones que tienes para trabajar con cadenas.

http://www.php.net/manual/es/ref.strings.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 30/04/2003, 13:25
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Hola de nuevos, si pongo esto:
Código PHP:
$zx explode(" "$xy[1]) 
Crocus carpetanus Boiss. & Reut. me va a cortar Crocus de lo demás y lo que quiero es que me separe así:
Crocus carpetanus Boiss. & Reut.
Como puedo hacer para separar el segundo espacio no el primero.
Chao un saludo, espero que puedas solucionar mi problema.
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #8 (permalink)  
Antiguo 30/04/2003, 13:26
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Hay tio perdón estoy atontado, ya me di cuento de como hacerlo
Chau un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #9 (permalink)  
Antiguo 30/04/2003, 13:43
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Hola de nuevo, ya se parecere un pesao, pero es que me pasa otra cosa a veces envede ser Crocus carpetanus Boiss. & Reut.
puede ser Crocus gr. carpetanus Boiss. & Reut o Crocus carpetanus subespecie Boiss. & Reut. Entonces ya me cambiaria las palabras que salen en negrita y las palabras que salen en cursiva, me entiendes??
Chao un saludo,
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #10 (permalink)  
Antiguo 30/04/2003, 13:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pino ..

Si no defines una estructura de datos de esa cadena (por compleja que sea) con todos los posibles casos .. es imposible armar un algoritmo para lo que pretendes ..

Primero sientate con lapiz y papel y analiza tus datos .. luego piensa en que casos tienes y empieza a buscar "patrones" que puedas reproducir .. Ejemplo: una serie de caracteres incluido espacio y acaba en punto .. o dos blosques así o yo que sé ...

Me entiendes?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 01/05/2003, 07:26
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Hola, te entiendo, bueno te agradezco mucho lo que me has alludado . De verdad muchas gracias, además ya tengo una idea de como hacerlo.
Chao, un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
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 22:59.