Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/06/2010, 04:02
karliky
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 8 meses
Puntos: 13
Respuesta: Sacando información con expresiones regulares

Esto solo devolvería un resultado:

Código PHP:
function get_string_between($string$start$end){ 
    
$string " ".$string
    
$ini strpos($string,$start); 
    if (
$ini == 0) return ""
    
$ini += strlen($start); 
    
$len strpos($string,$end,$ini) - $ini
    return 
substr($string,$ini,$len); 

 
$fullstring "<div>
<a href='www.google.es'>Link</a>
</div>"

$parsed get_string_between($fullstring"gle.es'>""</a>"); 
 
echo 
$parsed// (result = Link) 
Esto para todos los resultados:
Código PHP:
function get_all_strings_between($string,$start,$end)
{
//Returns an array of all values which are between two tags in a set of data
$strings = array();
$startPos 0;
$i 0;
//echo strlen($string)."\n";
while($startPos strlen($string) && $matched get_string_between(substr($string,$startPos),$start,$end))
{
if (
$matched == null || $matched[1] == null || $matched[1] == '') break;
$startPos $matched[0]+$startPos+1;
array_push($strings,$matched[1]);
$i++;
}
return 
$strings;
}

function 
get_string_between($string$start$end){
//$string = " ".$string;
$ini strpos($string,$start);
if (
$ini == 0) return null;
$ini += strlen($start);
$len strpos($string,$end,$ini) - $ini;
return array(
$ini+$len,substr($string,$ini,$len));