Gracias a ambos, cuando puse la respuesta volví a releer el manual y vi lo que comentabais un poco después. Al final me ha quedado de la siguiente forma
Código PHP:
Ver originalfunction getFileContents($sFile)
{
if ($sContents === false) {
throw new Exception("Unable to read $sFile");
}
return $sContents;
}
function ParserWebSimple($url,$expresion,$debug=false,$notificaErrores=false){
$error_msg=''; // string que recopila los errores que va encontrando
try {
getFileContents($url);
}
catch(Exception $e){
print $e->getMessage();
}
$error_msg.='La captura está vacia';
}
// Si debug está activado imprime los echo dentro del programa
// Si notificaErrores esta activado te imprime el string $error_msg
return array($resultado,$error_msg); }
// MAIN
$url='http://www.alternate33.es/html/product/Placas_base_Socket_1366/Asus/SABERTOOTH_X58/475921/?tn=HARDWARE&l1=Placas+base&l2=Intel&l3=Socket+1366';
$expresion='|<div id="price" style="position:relative;">(.*?)</div>|is';
list ($resultado,$error_msg)=ParserWebSimple
($url,$expresion,$debug=false,$notificaErrores=false);
echo "$resultado<br/>";
echo $error_msg;
Qué diferencia hay entre poner el try/catch y luego hacer el
throw new Exception("Unable to read $sFile");
Que simplemente poner...
Código PHP:
Ver originalfunction getFileContents($sFile)
{
if ($sContents === false) {
echo "Unable to read $sFile";
}
return $sContents;
}
Que ventajas tiene...? porque ha efectos visuales no soy capaz de verlo.
Y porqué el IF tiene 3 === en lugar de solo dos? ($sContents === false)
Muchas gracias de antemano por vuestros consejos!