Cita:
Iniciado por jonni09lo Puedes usar [URL="http://www.php.net/manual/es/domdocument.loadhtml.php"]DOMDocument[/URL] para que sea mas fácil obtener los datos del sitio
Saludos
Tengo hecho esto y funciona sólo con los primeros resultados, pero cuando tengo dos filas de datos ejemplo dirección tengo que introducirlo a mano
Código PHP:
<?php
$enlace = $_POST['enlace'];
echo '<p>El enlace seleccionado es ' .$enlace. '</p>';
$searchURL = $enlace;
$html = file_get_contents($searchURL);
$patternform = '/(<table.*<\/table>)/sm';
preg_match_all($patternform ,$html,$matches);
echo $matches[0][0];
//echo '<br />';
$doc = new DOMDocument();
@$doc->loadHTML($html); //cargamos el HTML
$Nombre = $doc->getElementById('cosArea_cosInterior_DadesCol');
$td = $Nombre->getElementsByTagName('td');
foreach ($td as $clave=>$data) {
if ($clave == 1 && $data != ''){
$nombre = $data->nodeValue;
//echo '<br>' .utf8_decode($nombre). '<br>';
}
if ($clave == 3 && $data != ''){
$colegiado = $data->nodeValue;
//echo '<br>' .$colegiado. '<br>';
}
//echo utf8_decode($data->nodeValue . '<br />');
}
//echo '<br /->ESPECIALIDADES<br /->';
$Especialidad = $doc->getElementById('cosArea_cosInterior_DLEspec');
$td = $Especialidad->getElementsByTagName('td');
foreach ($td as $clave=>$data) {
if ($data != ''){
$especialidades = $data->nodeValue;
$especialidades = trim($especialidades, '; ');
//echo '<br>' .utf8_decode($especialidades);
}
//echo utf8_decode($data->nodeValue . ';');
}
//echo '<br /->CONTACTO CUATRO <br><br> ';
$contacto = $doc->getElementById('cosArea_cosInterior_DLAdress');
$td = $contacto->getElementsByTagName('td');
//$cadena= array($dirección, $cod_postal, $pobalcion, $provincia, $telefono);
// DIRECCIÓN //
foreach ($td as $clave=>$data) {
if ($clave == 0 && $data != ' '){
$direccion = $data->nodeValue;
echo '<br>' .$clave. " " .$direccion;
}
if ($clave == 1 && $data != ' ') {
$codpostal = $data->nodeValue;
echo '<br>' .$codpostal;
}
if ($clave == 2 && $data != ' ') {
$poblacion = $data->nodeValue;
$poblacion = trim($poblacion);
echo '<br>' .$poblacion;
}
if ($clave == 3 && $data != ' ') {
$provincia = $data->nodeValue;
$provincia = trim($provincia);
echo '<br>' .$provincia;
}
// TELÉFONO Y EMAIL //
if ($clave == 4) {
$telf = $data->nodeValue;
echo '<br>' .$telf;
}
if ($clave == 5) {
$email = $data->nodeValue;
if ($email = false){
echo "no existe e-mail";
}else{
echo '<br>' .$clave." ".$email;
}
}
//echo '<br><div id='.$clave.'>' .$clave. ": " .$data->nodeValue. '</div>';
}
?>
<? echo "DATOS MEDICO ";?>
<form action="InsertarDatoscomb.php" method="post">
<table width="90%" border="0">
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td width="27%">Nombre</td>
<td width="73%"><label for="Nombre"></label>
<input name="Nombre" type="text" id="Nombre" value="<?php echo utf8_decode($nombre); ?>" size="50"></td>
</tr>
<tr>
<td>Colegiado</td>
<td><label for="Colegiado"></label>
<input name="Colegiado" type="text" id="Colegiado" value="<?php echo $colegiado; ?>" size="25"></td>
</tr>
<tr>
<td>Especialidades</td>
<td><label for="Especialidad"></label>
<input name="Especialidad" type="text" id="Especialidad" value="<?php echo utf8_decode($especialidades);?>" size="75"></td>
</tr>
<tr>
<td>Dirección</td>
<td><label for="Direccion"></label>
<input name="Direccion" type="text" id="Direccion" value="<?php echo utf8_decode($direccion);?>" size="75"></td>
</tr>
<tr>
<td>Cod. postal</td>
<td><label for="CodPostal"></label>
<input name="CodPostal" type="text" id="CodPostal" value="<?php echo $codpostal;?>"></td>
</tr>
<tr>
<td>Población</td>
<td><label for="Poblacion"></label>
<input name="Poblacion" type="text" id="Poblacion" value="<?php echo utf8_decode($poblacion);?>" size="50"></td>
</tr>
<tr>
<td>Provincia</td>
<td><label for="Provincia"></label>
<input name="Provincia" type="text" id="Provincia" value="<?php echo utf8_decode($provincia); ?>" size="50"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" id="adddireccion2" value="añadir sergunda direccion" class="adddireccion2" /><div id="direccion2"></div></td>
</tr>
<tr>
<td>Telf</td>
<td><label for="Telefono"></label>
<input name="Telefono" type="text" id="Telefono" value="<?php echo $telf;?>" size="75"></td>
</tr>
<tr>
<td>Email</td>
<td><label for="email"></label>
<input type="text" name="email" id="email"></td>
</tr>
<tr>
<td>Fecha</td>
<td><label for="fecha"></label>
<input name="fecha" type="text" id="fecha" value="<?php echo date('d/m/y');?>"/></td>
</tr>
<tr>
<td>Hora</td>
<td><label for="hora"></label>
<input name="hora" type="text" id="hora" value="<?php echo date('H:i:s');?>" /></td>
</tr>
<tr>
<td> </td>
<td><input name="Enviar" type="submit" id="Enviar" value="Guardar registro" /></td>
</tr>
</table>
</form>
La verdad es que el DOMDocument no lo he conseguido hacer funcionar, llevo ya 13 días con el tema y no salgo adelante