Coger lo que hay en medio

Iniciado por Kami, 5 Junio 2008, 22:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Kami

Me gustaría saber si hay alguna función en PHP que lo que haga sea coger de entre dos palabras, la palabra de enmedio, un ejemplo:

Si le doy una web entera y en una parte tiene el codigo

Código (html4strict) [Seleccionar]
</a> <a href="http://www27.megavideo.com/files/60ba5dcce06b5a8eff72ab80db05069b/You%20raise%20me%20up.wmv" target="_blank" style="f...

Bueno pues dandole el primer valor:
Citar</a> <a href="

Y el segundo:
Citar" target="_blank" style="f...

Pues que me pase a una variable lo del medio.

Yo lo haría con un remplace, pero al haber más cosas me quedé blanca.

Ertai

Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

ActiveSheet

solo quieres recojer el vinculo?

facil, no nesesitas substr

con un explode

Kami

Bueno, muchas gracias a los dos  :-*

Lo he estado mirando y creo que el mejor sería el substr ya que el "explode" no funcionaría con el código fuente de una web entera ¿No?

Ertai

Usar el explode es ir a lo fácil y puede que depende de que situación no te funcione. Mejor currate una función que lo haga todo usando las funciones que te puse.

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

Azielito

Tambien podrias usar

http://es2.php.net/manual/es/function.preg-match.php

para buscar todas las que coincidan con un patron, o sea, todos los links :D

WHK

Código (php) [Seleccionar]
<?php

function desde_hasta($desde$hasta$contenido){
 if(
eregi($desde ,$contenido)){
  
$retorno explode($desde$contenido);
  
$retorno $retorno[1];
  
$retorno explode($hasta$retorno);
  
$retorno $retorno[0];
  return 
$retorno;
 } else {
  return 
FALSE;
 }
}

?>

Debes ser lo mas especifico posible ya que solo debuelve la primera coincidencia, o sea.,.. si la misma coincidencia se repite mas de una ves debolverá solo la primera a menos que lo modifiques de retorno[1] a retorno[2], es mas... hasta puedes agregarlo como una variable extra :P
Código (php) [Seleccionar]
function desde_hasta($desde, $hasta, $contenido,$cantidad){...
Donde cantidad = $cantidad+1;