Foros del Web » Programando para Internet » PHP »

Sustraer cadena de otra cadena conociendo el principio y fin

Estas en el tema de Sustraer cadena de otra cadena conociendo el principio y fin en el foro de PHP en Foros del Web. Hola! bueno tengo una duda, he estado probando con algunas funciones de strings pero vamos, no he conseguido lo que quería. Aver si alguien me ...
  #1 (permalink)  
Antiguo 26/01/2011, 15:12
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 15 años, 4 meses
Puntos: 1
Pregunta Sustraer cadena de otra cadena conociendo el principio y fin

Hola! bueno tengo una duda, he estado probando con algunas funciones de strings pero vamos, no he conseguido lo que quería. Aver si alguien me ayuda mientras intento sacarlo :)

Tengo un texto guardado en una variable, un texto largo, del cual quiero sacar una cadena de texto de la que solo sé como empieza y como acaba.

Se que empieza por "?kpt=" y termina por "=", se buscarlos independientes, ver su posición, etc.. Lo que no se es como "recortar" ese trozo de código y guardarlo en otra variable.
Código HTML:
Ver original
  1. <input name="html" id="html" type="text" readonly="true" value='<object width="560" height="340"><param name="movie" value="http://tu.tv/tutvweb.swf?kpt=aHR0cDovL3d3dy50dS50di92aWRlb3Njb2RpL2MvbC9jbHViLWNvbWVkaWEtY29tby1kaW9zLWJ5LWFsZXhpcy5mbHY=&xtp=142149"></param><param name="wmode" value="transparent"></param><embed src="http://tu.tv/tutvweb.swf?kpt=aHR0cDovL3d3dy50dS50di92aWRlb3Njb2RpL2MvbC9jbHViLWNvbWVkaWEtY29tby1kaW9zLWJ5LWFsZXhpcy5mbHY=&xtp=142149" type="application/x-shockwave-flash" wmode="transparent" width="560" height="340"></embed></object><br /><a href="http://www.tu.tv/videos/club-comedia-como-dios-by-alexis" alt="Club comedia - Como Dios, by Alexis " title="Club comedia - Como Dios, by Alexis "><img src="http://tu.tv/imagen-video/club-comedia-como-dios-by-alexis" alt="Videos tu.tv" border="0" /></a>' onclick="javascript:document.videoForm.html.focus();document.videoForm.html.select();" />

Quiero "recortar" la parte esta:
Código text:
Ver original
  1. aHR0cDovL3d3dy50dS50di92aWRlb3Njb2RpL2MvbC9jbHViLWNvbWVkaWEtY29tby1kaW9zLWJ5LWFsZXhpcy5mbHY=

Que esta justo después de:
Código text:
Ver original
  1. ?kpt=

Aver si alguien me "ilumina". Gracias
  #2 (permalink)  
Antiguo 26/01/2011, 15:28
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 4 meses
Puntos: 87
Respuesta: Sustraer cadena de otra cadena conociendo el principio y fin

lo puedes hacer con expresiones regulares, te recomiendo que leas al respecto.

algo así te podría servir:

Código PHP:
Ver original
  1. $cadena='el texto';
  2. preg_match('/(\?kpt\=)(\w+)(\=)/',$cadena,$resultado);
  3. echo $resultado[2];

Saludos.
  #3 (permalink)  
Antiguo 26/01/2011, 15:56
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Sustraer cadena de otra cadena conociendo el principio y fin

Gracias por la respuesta, tendré que ponerme al día con expresiones regulares! de momento lo he solucionado así:
Código PHP:
Ver original
  1. $html = file_get_contents($url); //Obtengo el texto en cuestión.
  2. $pos = strpos($html, "?kpt=");//Obtengo la posición donde encuentra esta cadena.
  3. $html2 = substr($html, ($pos+5));//Recorto desde posición + 5 (para que no meta el ?kpt=)
  4. //Ahora borro todo despues de un "&", ya que en mi caso siempre despues de lo que necesito viene este caracter.
  5.     if( strstr($html2, "&") ) $html3 = current(explode("&", $html2));

Un saludo!

Etiquetas: principio, cadenas
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 07:45.