Foros del Web » Programando para Internet » PHP »

Eficiencia con strings

Estas en el tema de Eficiencia con strings en el foro de PHP en Foros del Web. Hola. En mi web muestro texto leido de varios ficheros de texto, este texto puede contener formatos del tipo a los usados en este foro, ...
  #1 (permalink)  
Antiguo 27/03/2005, 14:23
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 19 años, 4 meses
Puntos: 9
Eficiencia con strings

Hola. En mi web muestro texto leido de varios ficheros de texto, este texto puede contener formatos del tipo a los usados en este foro, [ B ]..[ /B ]; [ I ]..[ /I ]; [ U ]..[ /U ] para los mas basicos, pero tambien contiene uno para links, de momento he hecho algo asi:
Cita:
[#más información-}voluntariado.php#BRIGADAS#]
que despues de varios strpos(), substr() y str_replace() se convierte en
Cita:
[A href=DBLQUOTvoluntariado.php#BRIGADASDBLQUOT]más información[/A]
y al final devuelvo lo siguiente:
Cita:
return nl2br(str_replace("]", ">", str_replace("[", "<", str_replace("DBLQUOT", '"', htmlentities($cadena_final)))));
O sea, cambio las tildes, eñes y demas a html entities, sustituyo el DBLQUOT por " y despues cambio todos los [] por <>, quedando html puro y duro. Mi duda es la eficiencia de todo esto, al usar varios str_pos() y str_replace() pienso que estoy recorriendo el texto varias veces.

PREGUNTA1. ¿es estupido usar la cadena DBLQUOT y luego hacer str_replace("DBLQUOT", '"'...? ¿Influye la longitud de la palabra DBLQUOT en la eficiencia de str_replace()?

PREGUNTA2. ¿Sabeis si es mejor hacer todo esto con expresiones regulares? Es que no me entero de de lo de las ereg_, sabeis alguna pagina donde lo explique de manera clara y sencilla?

Muchas preguntas, pero todas relacionadas, espero que podais contestar,
Muchas gracias.
  #2 (permalink)  
Antiguo 28/03/2005, 10:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Definitivamente .. deberías usar expresiones regulares.

(no son mi fuerte .. pero ahí te dejo un link hacia un tutorial):
http://www.ignside.net/man/php/regex.php

Un saludo,
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 00:58.