Foros del Web » Programando para Internet » PHP »

Obtener Link con Dom Document php

Estas en el tema de Obtener Link con Dom Document php en el foro de PHP en Foros del Web. Hola amigos me gustaria por medio de parseador DOMDocument() la siguiente variable. La url es: http://pe.globedia.com/old-ball-game-one-man-show me gustaria poder obtener la url de la fuente ...

  #1 (permalink)  
Antiguo 02/04/2013, 23:44
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
De acuerdo Obtener Link con Dom Document php

Hola amigos me gustaria por medio de parseador DOMDocument() la siguiente variable.

La url es: http://pe.globedia.com/old-ball-game-one-man-show

me gustaria poder obtener la url de la fuente
De su codigo fuente es:
Código HTML:
<p> <strong> Fuente:</strong> <a href="http://sportsmadeinusa.com/beisbol/the-old-ball-game-the-one-man-show/" rel="nofollow">sportsmadeinusa.com</a> </p> 
Quiero obtener el resultado:
Fuente: http://sportsmadeinusa.com/beisbol/t...-one-man-show/


Pero todo completo he hecho de la siguiente forma;

Código PHP:
$html='http://pe.globedia.com/old-ball-game-one-man-show';
$doc = new DOMDocument();
@
$doc->loadHTML($html);
$doc->formatOutput true;
$doc->preserveWhitespace false;

$divs $doc->getElementsByTagName('div');
foreach(
$divs as $div) {
      if (
$div->getAttribute('class') === 'ficha_sobre') {
         
$ficha $div->nodeValue// ficha
         //echo 'Intro: <b>'.utf8_decode($div->nodeValue).'</b>';
    
}

pero solo obtengo las variables encerradas en ese div quisiera poder acomodarlo solo para obtener el resultado que deseo, gracias por sus tiempos, saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #2 (permalink)  
Antiguo 03/04/2013, 01:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Obtener Link con Dom Document php

Lo que tienes hecho obtiene los nodevalues de todas las div que tengan como classe "ficha_sobre".

si no te da lo que quieres sera por

1. No estar en un div
2. El div donde esta no tiene esa classe

Para "acomodarlo" debes ver si las condiciones de busqueda dan el resultado que quieres....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 03/04/2013 a las 02:26
  #3 (permalink)  
Antiguo 03/04/2013, 01:08
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Puedes hacer algo así:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTMLFile('http://pe.globedia.com/old-ball-game-one-man-show');
  5.  
  6. $xpath = new DOMXPath($doc);
  7. $ficha = $xpath->query('//div[@class="ficha_sobre"]/p[3]/a');
  8.  
  9. echo $ficha->item(0)->getAttribute('href');
  10. //http://sportsmadeinusa.com/beisbol/the-old-ball-game-the-one-man-show/

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 03/04/2013, 13:34
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Gracias ya pude resolverlo, un abrazo y gracias por su tiempo.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #5 (permalink)  
Antiguo 03/04/2013, 13:38
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
Puedes hacer algo así:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTMLFile('http://pe.globedia.com/old-ball-game-one-man-show');
  5.  
  6. $xpath = new DOMXPath($doc);
  7. $ficha = $xpath->query('//div[@class="ficha_sobre"]/p[3]/a');
  8.  
  9. echo $ficha->item(0)->getAttribute('href');
  10. //http://sportsmadeinusa.com/beisbol/the-old-ball-game-the-one-man-show/

Saludos.
Hola Andresdzphp solo una duda y agradezco tu respuesta, para que poner la /p[3]/a solo eso gracias.

__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #6 (permalink)  
Antiguo 03/04/2013, 13:43
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Porque el link (a) está en el tercer párrafo (p) del (div) con class ficha_sobre.

También se podría hacer:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTMLFile('http://pe.globedia.com/old-ball-game-one-man-show');
  5.  
  6. $xpath = new DOMXPath($doc);
  7. $ficha = $xpath->query('//div[@class="ficha_sobre"]/p[3]/a/@href');
  8.  
  9. echo $ficha->item(0)->nodeValue;
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 03/04/2013, 13:46
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
Porque el link (a) está en el tercer párrafo (p) del (div) con class ficha_sobre.

También se podría hacer:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTMLFile('http://pe.globedia.com/old-ball-game-one-man-show');
  5.  
  6. $xpath = new DOMXPath($doc);
  7. $ficha = $xpath->query('//div[@class="ficha_sobre"]/p[3]/a/@href');
  8.  
  9. echo $ficha->item(0)->nodeValue;
Gracias ambas formas me sirvieron, saludos :)
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #8 (permalink)  
Antiguo 03/04/2013, 14:05
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
Porque el link (a) está en el tercer párrafo (p) del (div) con class ficha_sobre.

También se podría hacer:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTMLFile('http://pe.globedia.com/old-ball-game-one-man-show');
  5.  
  6. $xpath = new DOMXPath($doc);
  7. $ficha = $xpath->query('//div[@class="ficha_sobre"]/p[3]/a/@href');
  8.  
  9. echo $ficha->item(0)->nodeValue;
Hola Andreszphp cuando la fuente no existe es decir $ficha esta en blanco o no existe o no esta declarado sucede un error:

Fatal error: Call to a member function getAttribute() on a non-object in

Gracias por tu ayuda, saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #9 (permalink)  
Antiguo 03/04/2013, 14:18
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Tendrías que hacer un condicional, porque algunos no tienen fuente:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTMLFile('http://pe.globedia.com/los-juegos-online_1');
  5.  
  6. $xpath = new DOMXPath($doc);
  7. $ficha = $xpath->query('//div[@class="ficha_sobre"]/p[3]/a');
  8.  
  9. if ($ficha->length) {
  10.     echo $ficha->item(0)->getAttribute('href');
  11. } else {
  12.     echo 'Fuente no disponible';
  13. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 05/04/2013, 23:04
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Otra duda amigo y disculpa el tiempo que te quito quizás para muchos se les es facil hacer estas cosas pero quisiera ahorrarme un poco de tiempo.

me gustaria poder obtener la URL del Mp4 para poder parsearlo a mi servidor, gracias por su ayuda.

Código HTML:
<div class="video_block" itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
				<meta itemprop="duration" content="T00M36S">
			
			<meta itemprop="contentURL" content="http://actualidad.rt.com/actualidad/public_video/3e8/3e87d05434b2f0b7e21b33598381136e.mp4">
			<meta itemprop="embedURL" content="http://actualidad.rt.com/static/jwplayer/player.swf?file=http://actualidad.rt.com/actualidad/public_video/3e8/3e87d05434b2f0b7e21b33598381136e.mp4">
			<meta itemprop="name" content="Registran fuga de agua radioactiva en Fukushima">
			<meta itemprop="uploadDate" content="2013-04-06T03:07:00+0000" >
			<meta itemprop="description" content="Hasta 120 toneladas de agua radiactiva podrían haberse escapado de un tanque de almacenamiento en la central nuclear de Fukushima, contaminando el suelo circundante, según informó la agencia Reuters, citando la a compañía TECPO.">
			<div id='mediaplayer_22681' class="video-frame" style="width:1280; height:720; background-color:white;"></div>
			<script type="text/javascript" id="jw_video_js">
				require(["dojo/domReady!"], function() {
					jwplayer('mediaplayer_22681').setup({
						'flashplayer': '/static/jwplayer/player.swf',
						'id': '22681',
						'width': '630',
						'height': '354',
							'file': '/view/video_file/90973',
						'skin': '/static/jwplayer/player_skin.zip',
							'http.startparam': 'start',
						'viral.onpause':'False'
					});
				});
			</script>
	</div> 
Dentro del div video_block quisiera poder obtener LA URL Del MP4 que esta en la etiqueta <meta itemprop="contentURL"
gracias por sus respuestas, saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #11 (permalink)  
Antiguo 05/04/2013, 23:28
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Me respondo yo mismo, de todas maneras gracias por su tiempo.

Código PHP:
$metas $doc->getElementsByTagName('meta');
for (
$i 0$i $metas->length$i++)
{
    
$meta $metas->item($i);
    if(
$meta->getAttribute('itemprop') == 'contentURL')
        
$videoURL $meta->getAttribute('content'); // Keywords
        //echo $meta->getAttribute('itemprop').'<br>';
        

Saludos
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #12 (permalink)  
Antiguo 05/04/2013, 23:38
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Para ese caso usaría esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $metas = get_meta_tags('http://actualidad.rt.com/video/actualidad/view/90981-japon-fukushima-agua-radiactivo');
  4. echo '<pre>';
  5. print_r($metas);
  6. echo '</pre>';

ahí está la url del video y más:

Cita:
Array
(
[keywords] =>

[description] =>

[twitter:site] => @ActualidadRT
[twitter:card] => player
[twitter:image] => http://esp.rt.com/actualidad/public_...7f_article.jpg
[twitter:player] => https://actualidad.rt.com/action/videoembed/90981
[twitter:player:width] => 435
[twitter:player:height] => 251
[twitter:player:stream] => http://actualidad.rt.com/actualidad/...598381136e.mp4
[twitter:player:stream:content_type] => video/mp4; codecs="avc1.42E01E, mpa.40.2"
)
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #13 (permalink)  
Antiguo 05/04/2013, 23:46
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
Para ese caso usaría esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $metas = get_meta_tags('http://actualidad.rt.com/video/actualidad/view/90981-japon-fukushima-agua-radiactivo');
  4. echo '<pre>';
  5. print_r($metas);
  6. echo '</pre>';

ahí está la url del video y más:
Tu respuesta es perfecta, gracias por brindarte un tiempo, saludos
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #14 (permalink)  
Antiguo 09/04/2013, 17:49
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

La respuesta que me pones es muy buena, si bien es cierto el comando get_meta_tags te jala solo valores con el atributo name pero los otros no los procesa, gracias por tus respuestas.


http://php.net/manual/es/function.get-meta-tags.php

Saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #15 (permalink)  
Antiguo 09/04/2013, 18:08
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Pues puedes obtener lo que quieras, tu ejemplo anterior pero sin "bucles":

Código PHP:
Ver original
  1. <?php
  2.  
  3. $doc = new DOMDocument();
  4. $doc->loadHTMLFile('http://actualidad.rt.com/video/actualidad/view/90981-japon-fukushima-agua-radiactivo');
  5. $xpath = new DOMXPath($doc);
  6. $video = $xpath->query('//meta[@itemprop="contentURL"]/@content');
  7. echo $video->item(0)->nodeValue;
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #16 (permalink)  
Antiguo 09/04/2013, 19:22
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Gracias por tu respuesta, me parece interesante tu comentario, te dejo mi script y como resolví, puedo obtener todos los metas cambiando los atributos con un bucle y con una condición, igual agradezco tu tiempo.

Código PHP:
$metas $doc->getElementsByTagName('meta');
for (
$i 0$i $metas->length$i++)
{
    
$meta $metas->item($i);
    if(
$meta->getAttribute('itemprop') == 'contentURL'){
        
$videoURL $meta->getAttribute('content'); } // Video URL
        
    
if($meta->getAttribute('property') == 'og:image'){
        
$IMGURL $meta->getAttribute('content'); } // IMG URL
        

Saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #17 (permalink)  
Antiguo 09/04/2013, 19:28
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Un for es más lento pero haz como quieras
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #18 (permalink)  
Antiguo 11/04/2013, 22:09
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Hola amigo gracias por tu respuesta, efectivamente un for es mas lento y estoy usando tu script dentro de una funcion asi puedo recibir lo que deseo mejor explicado.

Tengo otra duda:

Tengo un string con un texto:
Código PHP:
$texto='El secretario de defensa señaló que, si bien no cree que el régimen de Pyongyang o de Teherán dispongan de un misil balístico de largo alcance que pueda llegar a EE.UU. con una carga de destrucción masiva, no se descarta que sean capaces de adquirir esa capacidad en un futuro. No creo que Corea del Norte o Irán tengan esa capacidad. Pero eso es sólo de momento, por lo que la situación es peligrosa. Por nuestra parte, estamos dispuestos a repeler cualquier amenaza, ya sea proveniente de Irán o de Corea del Norte, agregó el jefe del Pentágono. Hagel hizo estas declaraciones durante su audiencia ante el Comité de Servicios Armados de la Cámara de Representantes.  

banner_send_view(banner_2266, http://count.actualidad.rt.com/banner/2266);

Corea del Norte airea la posibilidad de lanzar misiles y EE.UU. ha dispuesto sistemas de defensa antimisiles en el Pacífico ante la posibilidad de que la amenaza se concrete en los próximos días. Este jueves se supo que al menos un misil balístico en la costa oriental de Corea del Norte se encuentra en posición de ataque en su lanzadora móvil, según informó un representante del Ministerio de Defensa de Japón, citando datos de los satélites de inteligencia.Seúl ha señalado que, probablemente, se trataría de un misil Musudan, subrayando que Pyongyang ha trasladado varios misiles de este tipo a su costa este y ha instalado uno en una plataforma de lanzamiento.

banner_send_view(banner_2359, http://count.actualidad.rt.com/banner/2359);'

Necsito una funcion o comando que me evite extraer los datos
banner_send_view(banner_2359, http://count.actualidad.rt.com/banner/2359);
o todas las funciones javascritp que este dentro del texto.

Puedo hacer con preg_match y expresiones regulares o con cual
deseo reemplazar todo lo que tiene
banner_send_view por otro caracter, gracias por tu ayuda.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #19 (permalink)  
Antiguo 11/04/2013, 22:19
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Usa expresiones regulares, no se que mas podrías usar.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #20 (permalink)  
Antiguo 11/04/2013, 23:05
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Gracias por tus respuestas;

Tengo el siguiente codigo:

Código PHP:
$html='http://actualidad.rt.com/actualidad/view/91505-testigo-seul-corea?utm_source=rss&utm_medium=rss&utm_campaign=actualidad';
$doc = new DOMDocument();
    
libxml_use_internal_errors(true);
    
$doc->loadHTMLFile($html);
    
$xpath = new DOMXPath($doc);
    
$articulo $xpath->query('//div[@id="article_text"]');
    
$textos=$articulo->item(0)->nodeValue;
    
    echo 
$textos
En el $xpath->query puedo usar expresiones regulares para evitar extraer los contenidos javascript, espero no molestarte, saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #21 (permalink)  
Antiguo 11/04/2013, 23:29
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

ah pensé que me habías cambiado el tema jaja

usa //div[@id="article_text"]/text()
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #22 (permalink)  
Antiguo 11/04/2013, 23:43
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
ah pensé que me habías cambiado el tema jaja

usa //div[@id="article_text"]/text()
Hola gracias por tu respuesta, me da este resultado.

“La gente está muy tranquila, no hay compras de pánicoâ€, cuenta Javier Maldonado, bloguero y socio del centro de cultura española e hispana en Seúl SOMOS.co.kr.


Es raro pero logré atinarlo con algo de código, pero se que tu podrás resumirlo en menos código, saludos.

Código PHP:
$doc = new DOMDocument();
    
libxml_use_internal_errors(true);
    
$doc->loadHTMLFile($html);
    
$xpath = new DOMXPath($doc);
    
$articulo $xpath->query('//div[@id="article_text"]');
    
$textos=$articulo->item(0)->nodeValue;
    
    
//echo $textos.'<br>';
    
$texto=preg_replace("/\([^\)]+\)/","<p>",$textos);
    
$texto str_replace('banner_send_view',"",$texto);
    
$texto str_replace(';',"",$texto);
    echo 
$texto
Espero pueda ayudarme, saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #23 (permalink)  
Antiguo 11/04/2013, 23:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Yo tengo mi archivo guardado como UTF8 y no me da ningún error de esos, usa utf8_encode o utf8_decode para solucionarlo.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #24 (permalink)  
Antiguo 11/04/2013, 23:52
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
Yo tengo mi archivo guardado como UTF8 y no me da ningún error de esos, usa utf8_encode o utf8_decode para solucionarlo.
No me refiero al encode, me refiero a que el resultado con el query

$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTMLFile($html);
$xpath = new DOMXPath($doc);
$articulo = $xpath->query('//div[@id="article_text"]/text()');
$textos=$articulo->item(0)->nodeValue;


//div[@id="article_text"]/text()

No me brinda un resultado del texto completo sino una parte del todo, a eso me refiero, espero puedas ayudarme, saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #25 (permalink)  
Antiguo 12/04/2013, 00:02
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Algo así:

Código PHP:
Ver original
  1. $html = 'http://actualidad.rt.com/actualidad/view/91505-testigo-seul-corea?utm_source=rss&utm_medium=rss&utm_campaign=actualidad';
  2. $doc = new DOMDocument();
  3. $doc->loadHTMLFile($html);
  4. $xpath = new DOMXPath($doc);
  5. $articulo = $xpath->query('//div[@id="article_text"]/text()');
  6.  
  7. $texto = '';
  8.  
  9. foreach ($articulo as $a) {
  10.     $texto .= trim($a->nodeValue);
  11. }
  12.  
  13. echo $texto;
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #26 (permalink)  
Antiguo 12/04/2013, 00:47
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
Algo así:

Código PHP:
Ver original
  1. $html = 'http://actualidad.rt.com/actualidad/view/91505-testigo-seul-corea?utm_source=rss&utm_medium=rss&utm_campaign=actualidad';
  2. $doc = new DOMDocument();
  3. $doc->loadHTMLFile($html);
  4. $xpath = new DOMXPath($doc);
  5. $articulo = $xpath->query('//div[@id="article_text"]/text()');
  6.  
  7. $texto = '';
  8.  
  9. foreach ($articulo as $a) {
  10.     $texto .= trim($a->nodeValue);
  11. }
  12.  
  13. echo $texto;
Es perfecta tu respuesta, pero dentro de la expresión regular me gustaría que respete los saltos de linea los <p> y los <br> solo eso lo demás si puede ser procesado como texto, gracias por brindarme tu tiempo, saludos.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #27 (permalink)  
Antiguo 12/04/2013, 09:50
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Es hora de que tu aprendas, suerte con eso.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #28 (permalink)  
Antiguo 12/04/2013, 10:58
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Gracias por todo tu tiempo pero tener un poco de humildad y decir "no lo puedo hacer" también suena bien, soy capaz de solucionar pero dejemos que otras personas también participen sino que finalidad tiene un foro de respuestas, suerte y saludos.

__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com
  #29 (permalink)  
Antiguo 12/04/2013, 11:09
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Obtener Link con Dom Document php

Puedo hacer eso y mucho más, pero estamos aquí para guiarte no para hacer TODO el trabajo. Si quieres que te hagan el trabajo pasa por el foro de empleo. Yo paso contigo suerte.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #30 (permalink)  
Antiguo 12/04/2013, 11:24
Avatar de kernelcom-com  
Fecha de Ingreso: mayo-2008
Ubicación: Lima
Mensajes: 216
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Obtener Link con Dom Document php

Cita:
Iniciado por andresdzphp Ver Mensaje
Puedo hacer eso y mucho más, pero estamos aquí para guiarte no para hacer TODO el trabajo. Si quieres que te hagan el trabajo pasa por el foro de empleo. Yo paso contigo suerte.
Jajajaja si bien es cierto me ayudaste, espero no te ofendas respecto a la humildad, es bueno a veces reconocer que "no lo puedes hacer" y no justificar de que no quieres hacer todo el trabajo, es la clásica actitudad de algunos programadores no es tu caso claro, de no reconocer a veces por flojera es llegar a un punto que no le es familiar o poner problemas más avanzados, agradezco tu tiempo y estoy resolviendo el problema y lo pondré para darte una idea en expresiones regulares y buscar posible soluciones de otras personas, si te haz dado cuenta no solo dejo que respondas también aporto mis soluciones que les puede servir de mucha ayuda a otras personas.

Si puedes seguirás ayudandonos, de lo contrario igual agradezco tu tiempo por almenos brindarme una respuesta y seguir con la discución.
__________________
Las ideas estimulan la mente.(Eric Hoffer)
http://www.reycarlos.com
http://www.clasificadosde.com

Etiquetas: document, dom, html, link, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:29.