Expresiones regulares preg_match

  • Autor Autor sulator
  • Fecha de inicio Fecha de inicio
S

sulator

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola,

Necesito la url del vídeo y thumbnail de una web adultos desde el preg_match, alguien puede ayudarme? la web la paso por privado.

gracias

Saludos
 
Te ayudo!, pero antes, comienza algo porfavor :distant:
 
Cuando se realizan preguntas sobre programación se acostumbra a dejar el código sobre el cual se tiene la duda. Tal vez, no quieres dejarlo para tener en secreto la web desde donde quieres obtener los datos así que si ese es el caso te recomiendo esta página para que armes las expresiones regulares y las testees. https://regex101.com/
 
Perdón por no detallar, aquí pongo un ejemplo:

PHP:
<div id="video_link_container" style="display: none;">
    <a id="video_link" href="http://ejemplo.com/videos/7/e/a/4/2/7ea4228674ca073351190382de6ab4c02a151981.mp4">
        <img src="http://ejemplo.com/videos/7/e/a/4/2/7ea4228674ca073351190382de6ab4c02a151981.flv-preview.jpg">
             width="888px"
             height="667px">
        <small class="btn-play sprite"></small>
    </a>
</div>
 
Perdón por no detallar, aquí pongo un ejemplo:

PHP:
<div id="video_link_container" style="display: none;">
    <a rel="nofollow" id="video_link" href="http://ejemplo.com/videos/7/e/a/4/2/7ea4228674ca073351190382de6ab4c02a151981.mp4">
        <img src="http://ejemplo.com/videos/7/e/a/4/2/7ea4228674ca073351190382de6ab4c02a151981.flv-preview.jpg">
             width="888px"
             height="667px">
        <small class="btn-play sprite"></small>
    </a>
</div>

PHP:
$pattern_video = '/<a[^>]+"video_link"[^>]+href="(http:\/\/.*?.mp4)"[^>]+>/';
$pattern_thumb = '/<img[^>]+src="(http:\/\/.*?.flv-preview.jpg)"[^>]+>/';

Espero que te sirva.
 
Última edición:
buena scriptz

- - - Actualizado - - -

a mi tambien me sirve
 
Lo que quiero hacer exactamente es esto:

PHP:
<?php  

$datos = file_get_contents("http://www.ejemplo.com");  

preg_match_all("/poster=(.*?)/", $datos, $image);  
preg_match_all("/<source src=(.*?)</video>/", $datos, $video);  



echo "<img src=\"".($image).">";  
echo "<a href=\"".($video)."\">descarga</a>";  
?>  


como extraer video y imagen de este código para que funcione???  

<video id="html_video" width="888px"  
           height="533px"  
           poster="http://th.ejemplo.com/videos/7/a/7/8/9/7a7891a6400b900b82e72967f7dec63e39ee0652.flv-preview.jpg"  
           controls="controls">  
        <source src="http://cdn2.ejemplo.com/videos/7/a/7/8/9/7a7891a6400b900b82e72967f7dec63e39ee0652.mp4.mp4" type="video/mp4">  
    </video>

- - - Actualizado - - -

PHP:
$pattern_video = '/<a[^>]+"video_link"[^>]+href="(http:\/\/.*?.mp4)"[^>]+>/';
$pattern_thumb = '/<img[^>]+src="(http:\/\/.*?.flv-preview.jpg)"[^>]+>/';

Espero que te sirva.

Bueno es algo por el estilo, pero no se como adaptarlo a php, te envie un privado espero que me puedas ayudar 🙂
 
Lo que quiero hacer exactamente es esto:

PHP:
<?php  

$datos = file_get_contents("http://www.ejemplo.com");  

preg_match_all("/poster=(.*?)/", $datos, $image);  
preg_match_all("/<source src=(.*?)</video>/", $datos, $video);  



echo "<img src=\"".($image).">";  
echo "<a href=\"".($video)."\">descarga</a>";  
?>  


como extraer video y imagen de este código para que funcione???  

<video id="html_video" width="888px"  
           height="533px"  
           poster="http://th.ejemplo.com/videos/7/a/7/8/9/7a7891a6400b900b82e72967f7dec63e39ee0652.flv-preview.jpg"  
           controls="controls">  
        <source src="http://cdn2.ejemplo.com/videos/7/a/7/8/9/7a7891a6400b900b82e72967f7dec63e39ee0652.mp4.mp4" type="video/mp4">  
    </video>

- - - Actualizado - - -



Bueno es algo por el estilo, pero no se como adaptarlo a php, te envie un privado espero que me puedas ayudar 🙂


PHP:
<?php  

$datos = file_get_contents("http://www.ejemplo.com");  

$pattern_video = '/<source[^>]+src="(http:\/\/.*?.mp4)"[^>]+type="video\/mp4"[^>]+>/';
$pattern_thumb = '/poster="(http:\/\/.*?.flv-preview.jpg)"/';  

preg_match($pattern_video, $datos, $video);  
preg_match($pattern_thumb, $datos, $image);  

?>
<b>Video:</b> <?=$video[1]?><br>
<b>Thumb:</b> <?=$image[1]?>

Espero que os haya iluminado.

1166833271_f.jpg


- - - Actualizado - - -
[MENTION=28658]sulator[/MENTION] respondiendo a tu MP.

PHP:
<?php

$pattern_video = '/http:\/\/.*\/videos\/.*.flv/';
$pattern_thumb = '/http:\/\/.*.flv-preview.jpg/'; 

preg_match($pattern_video, $datos, $video); 
preg_match($pattern_thumb, $datos, $image); 

?>
<b>Video:</b> <?=$video[0]?><br>
<b>Thumb:</b> <?=$image[0]?>

Deberías haber aclarado que el sitio colocaba el player con javascript.

Ya lo probé y funciona...
 
Última edición:
Es cierto se me fue la cabeza con el player de javascript, Ahora si funciona 🙂 eres el mejor muchasssssssss graciassssssssssssssssssssss

- - - Actualizado - - -

PHP:
<?php  

$datos = file_get_contents("http://www.ejemplo.com");  

$pattern_video = '/<source[^>]+src="(http:\/\/.*?.mp4)"[^>]+type="video\/mp4"[^>]+>/';
$pattern_thumb = '/poster="(http:\/\/.*?.flv-preview.jpg)"/';  

preg_match($pattern_video, $datos, $video);  
preg_match($pattern_thumb, $datos, $image);  

?>
<b>Video:</b> <?=$video[1]?><br>
<b>Thumb:</b> <?=$image[1]?>

Espero que os haya iluminado.

1166833271_f.jpg


- - - Actualizado - - -
[MENTION=28658]sulator[/MENTION] respondiendo a tu MP.

PHP:
<?php

$pattern_video = '/http:\/\/.*\/videos\/.*.flv/';
$pattern_thumb = '/http:\/\/.*.flv-preview.jpg/'; 

preg_match($pattern_video, $datos, $video); 
preg_match($pattern_thumb, $datos, $image); 

?>
<b>Video:</b> <?=$video[0]?><br>
<b>Thumb:</b> <?=$image[0]?>

Deberías haber aclarado que el sitio colocaba el player con javascript.

Ya lo probé y funciona...

ya que lee este esta url pero no hace play desde el embed:
PHP:
http://i.ejemplo.com/videos/6/6/7/4/f/6674fc65118797a28f319b08981498a0dcd4c41f.flv

Si quiero que lea el video
PHP:
http://cdn2.ejemplo.com/videos/6/6/7/4/f/6674fc65118797a28f319b08981498a0dcd4c41f.flv
me refiero a esto:

PHP:
$pattern_video = '/http:\/\/.*.\/cdn2\/.*.\/videos\/.*.flv/';

vale ya esta solucionado:
PHP:
 $pattern_video = '/http:\/\/cdn2.*.\/videos\/.*.flv/';

ufff soy un fracaso en php dios
 
Última edición:
Bueno que bien que lo solucionaste. :encouragement:
 
Última edición:
La verdad es que si, yestoy muy agradecido por todo tu empeño y trato, mil gracias 🙂 como tu quedan pocos.

Un saludo Amigo
 
Atrás
Arriba