Buenas noches señores del foro de PHP en este momento me encuentro en una emergencia estoy tratande de tomar una informacion consultada en una web externa y pasarla a mi web personal.
Bueno garacas a ustedes mucho antes he resolvio muchos preblemas de PHP gracias por apoyar a las comunidades de desarrolladores.
Yo encontre un ejemplo echo en VB donde toma algunos datos de una web y los pasa a excel mediante una macro, yo quisiera hacerlo para php. bueno aqui os dejo el codigo echo en VB para una macro en excel
Sub Cotizacion_del_dolar()
'Ocultamos el procedimiento
Application.ScreenUpdating = False
'Si hay errores, que continúe
On Error Resume Next
'pasamos a una variable, la página de la
'que vamos a sacar la información
web = "http://www.finanzas.com/cotizacion/dolar-usa-euro.htm"
'pasamos la parte que rodea al texto que
'nos interesa, a variables
principio = "<p id=""euros"">"
final = "<p class=""estado"
'miramos la 1ª fecha que aparece en la página,
'y que corresponde a la de la cotización del dólar
fecha_y_hora = "<p class=""hora-fecha"">"
'creamos el objeto xmlhttp
Set xml = CreateObject("Microsoft.XMLHTTP")
'accedemos a la página web
xml.Open "POST", web, False
'mandamos el contenido
xml.Send
'pasamos el contenido a una variable
texto = xml.responseText
'miramos en que nº de carácter aparecen los textos
'que envuelven la información que necesitamos.
'Primero con la posición inicial
posicion1 = InStr(texto, principio)
'ahora con la posición final
posicion2 = InStr(texto, final)
'ahora con la fecha
posicion3 = InStr(texto, fecha_y_hora)
'recuperamos el texto que hay entre esas dos posiciones
dato = Mid(texto, posicion1, (posicion2 - posicion1))
'si no hay errores, que haga lo que tiene que hacer
If Err = 0 Then
'creamos un array separando los elementos
'por el caracter " <strong>"
cotizacion = Split(dato, " <strong>")
'ahora se nos habrán formado 2 elementos separados por "<strong>",
'pero solo nos interesa el 1º de ellos (empieza por 0,1,2...),
'pero le quitaremos el "<p id="euros">" del principio
cotizacion(0) = Replace(cotizacion(0), "<p id=""euros"">", "")
'Escribimos el dato
Range("B9") = "Cotización del dólar:"
Range("C9") = CSng(cotizacion(0))
Range("D9") = "euros = 1 dólar"
'convertimos las unidades a dólar/euro
Range("C10") = CSng(1 / Range("C9"))
'mostramos 5 decimales
Selection.NumberFormat = "#,##0.00000"
Range("D10") = "dólares = 1 euro"
'ahora cogemos los datos de la fecha y la hora
'y como sabemos que la cadena '<p class="hora-fecha">'
'tiene 22 caracteres, los sumamos para obtener la hora
hora = Mid(texto, (posicion3 + 22), 5)
'ahora sumamos 28, porque la cadena
''<p class="hora-fecha">hh:mm ' tiene 28 caracteres
fecha = CDate(Mid(texto, (posicion3 + 28), 10))
Range("B12") = "Fecha:"
Range("C12") = fecha
'le damos formato de fecha
Range("C12").NumberFormat = "dd/mm/yyyy"
Range("B13") = "Hora:"
Range("C13") = hora
'le damos formato de hora
Range("C13").NumberFormat = "hh:mm"
'si hay errores, mostramos un mensaje
Else
Range("B9") = "Cotización del dólar:"
Range("C9") = "Imposible obtener la cotización"
End If
'imprimimos la ruta de la fuente desde
'la que obtenemos la información
Range("B7") = "Fuente:"
ActiveSheet.Hyperlinks.Add Anchor:=Range("C7"), Address:=web
'limpiamos el objeto
Set xml = Nothing
'Mostramos el procedimiento
Application.ScreenUpdating = True
End Sub
-------------------------------------------------------------------