Foros del Web » Programando para Internet » PHP »

substring en php?

Estas en el tema de substring en php? en el foro de PHP en Foros del Web. Buenas a todos, vereis tengo una duda, existe algún método tipo substring() en php? Y no me refiero al substr, sino a un método que ...
  #1 (permalink)  
Antiguo 12/11/2009, 03:01
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 0
substring en php?

Buenas a todos,
vereis tengo una duda, existe algún método tipo substring() en php?
Y no me refiero al substr, sino a un método que devuelva parte de una cadena pasándole como parámetros la propia cadena, el principio y el final de la subcadena.
substr() lo que hace es pasar el principio y la longitud de la cadena.
Parece una tontería, pero justamente estoy un poco atrancado en esto.
Tengo un archivo que recorro fila a fila y pretendo sacar las cadenas que se encuentran entre corchetes (p.ej: [tengo una duda]), entonces lo que yo hago es:
Código PHP:
...
if(
strpos($linea'[')!==false){
$cadenaABuscar substr($lineastrpos($linea'['), strpos($linea']'));
}
... 
pero esto no me devuelve lo que yo espero. En realidad sé que no existe un método específico substring(), pero se os ocurre alguna forma de hacerlo?
Parece tan chorra el problema, pero no se me ocurre ninguna, y no vale eso de que ponga en lineas separadas las cadenas entre corchetes, einn!:)
Bueno, a ver si podeís echarme una manilla
Gracias y un saludo!
  #2 (permalink)  
Antiguo 12/11/2009, 03:30
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: substring en php?

Podrías poner dentro del if:

Código PHP:
$inicio strpos($linea'[');
$final strpos($linea']');
$cadenaABuscar substr($linea$inicio, ($final $inicio)); 
Ya que el parámetro que le tienes que pasar es la longitud qué quieres coger de la cadena, la calculas con la posición de los 2 caracteres.

Saludos
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:01.