Como reemplazar 2 numero aleatorios por otro?

  • Autor Autor GVentas
  • Fecha de inicio Fecha de inicio

GVentas

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Hola , estoy buscando la soluciona este problema haber si me ayudan por favor


estoy extrayendo algunas imagenes de una web xxx y hay thumbnails que salen al azar y antes del .jpg salen numero aleatorios entre el 1 y el 30

ejemplo puede salir al final 2.jpg como tambien puede salir 29.jpg

Que codigo debo agregar para reemplazar ese numero por el que yo quiera?

estoy usando:

Insertar CODE, HTML o PHP:
preg_match('/url_bigthumb=(.*)[1-9].jpg&amp/i', $html, $thumb);

y me sale bien el resultado si es que el numero del thumbnail original esta entre el 1 al 9, ejemplo, si el thumbnail original es:

Insertar CODE, HTML o PHP:
http://pagina.com/imagengrande/545135.5.jpg

con este codigo reemplazo por el numero que yo quiera:

Insertar CODE, HTML o PHP:
<img src='{$thumb}8.jpg'>
<img src='{$thumb}12.jpg'>
<img src='{$thumb}24.jpg'>

y no tengo problema alguno , me sale el resultado:

Insertar CODE, HTML o PHP:
http://pagina.com/imagengrande/545135.8.jpg
http://pagina.com/imagengrande/545135.12.jpg
http://pagina.com/imagengrande/545135.24.jpg


hasta aqui todo ok.




Pero si el thumbnail tiene un numero de 2 digitos ejemplo entre 10 y 30 me sale error , ejemplo:


si el thumbnail original es:

Insertar CODE, HTML o PHP:
http://pagina.com/imagengrande/545135.23.jpg

y usando los mismos codigos :

Insertar CODE, HTML o PHP:
<img src='{$thumb}8.jpg'>
<img src='{$thumb}12.jpg'>
<img src='{$thumb}24.jpg'>



el resultado me sale:


Insertar CODE, HTML o PHP:
http://pagina.com/imagengrande/545135.28.jpg
http://pagina.com/imagengrande/545135.212.jpg
http://pagina.com/imagengrande/545135.224.jpg


se agrega el numero 2 del thumbnail numero 23 y solo convierte la ultima cifra y me malogra los enlaces ya que esos links no existen salvo el primero ya que hay tumbnails del 1 al 30


En conclusion busco el codigo correcto que pueda coger tanto una cifra de 1 digito como de 2 digitos y poder modificarla por la cifra que yo quiera

soy empirico en estos temas , necesito su ayuda por favor

Saludos
 
Última edición:
Hola , yo no se nada de este lenguaje , pero se un poquito de c++ ( no mucho ) , puede ser que el error lo tenga en la primera línea donde tienes entre corchetes 1-9 y debería de ser de 1-30 , pero es sólo por darte una idea , no se nada de este lenguaje
 


Hola brother , gracias por comentar, ya trate de hacer eso y sale lo mismo, solo convierte el ultimo numero , para los conocedores esto debe ser sencillo ,yo nunca estudie esto , solo interpreto lo que puedo y me guio de algunos videos

ojala alguien me de una manito

😉
 

Bueno , pues lo siento , a mi me pasa lo mismo , investigo por la red hasta que consigo lo que busco , QUE TENGAS SUERTE :encouragement:
 
Bueno , pues lo siento , a mi me pasa lo mismo , investigo por la red hasta que consigo lo que busco , QUE TENGAS SUERTE :encouragement:

No tengo ni idea de programacion, pero te sugiero citar a ciclow el moderador del foro, que es un maquina en estos temas. Quizas te puede hechar una mano :encouragement:
 
Bueno , pues lo siento , a mi me pasa lo mismo , investigo por la red hasta que consigo lo que busco , QUE TENGAS SUERTE :encouragement:


Gracias bro, acabo de dar con la solucion a mi problema, recorde que tenia algunos codigos en un script antiguo y los aplique en este , usando array

coji el enlace completo de la imagen:

Insertar CODE, HTML o PHP:
preg_match('/url_bigthumb=(.*)&amp;key=/i', $html, $thumb);

reemplazo el numeroaleatorio.jpg

Insertar CODE, HTML o PHP:
$var1 = array ('.1.jpg','.2.jpg','.3.jpg','.4.jpg','.5.jpg','.6.jpg','.7.jpg','.8.jpg','.9.jpg','.10.jpg','.11.jpg','.12.jpg','.13.jpg','.14.jpg','.15.jpg','.16.jpg','.17.jpg','.18.jpg','.19.jpg','.20.jpg','.21.jpg','.22.jpg','.23.jpg','.24.jpg','.25.jpg','.26.jpg','.27.jpg','.28.jpg','.29.jpg','.30.jpg',);

$var = array ('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',);

$captura = str_replace($var1, $var, $thumb);

al final el codigo donde puedo agregar el numero de thumbnail que quiero es este:


Insertar CODE, HTML o PHP:
<img src='{$captura}.3.jpg'>

puedo cambiar el 3 por cualquiera de los 30 sin problemas,como siempre probando y probando di con la solucion

Saludos
 
usa preg_replace ejemplo:

PHP:
$img = 'http://pagina.com/imagengrande/545135.5.jpg';
$pattern = '/http:\/\/pagina.com\/imagengrande\/([0-9]+)\.([0-9]+)\.jpg/';
$replace = "http://pagina.com/imagengrande/$1.".rand(0, 30).".jpg";
$img = preg_replace($pattern, $replace, $img);
echo $img;
 
Última edición:


gracias brother, lo que quiero es poder escoger cualquiera de las 30 imagenes simplemente agregandole el 3 o 5 o 28 por ejemplo:

Insertar CODE, HTML o PHP:
<img src='{$captura}.3.jpg'>

con eso ya me queda bien, probare tu codigo mas rato que estoy de salida

Saludos
 

Así como quieres, ya poniendo el número, no se puede desde php, necesitas reemplazarlo primero, pero sí lo puedes hacer con javascript:

Insertar CODE, HTML o PHP:
var rand = Math.floor(Math.random() * 30 + 1);
var img = 'http://pagina.com/imagengrande/545135.5.jpg';
img = img.replace(/\.([0-9]+)\./, '.'+rand+'.');
alert(img);