Como substituir 2 números aleatórios por outro?

  • Autor Autor GVentas
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
GVentas

GVentas

Delta
Verificación en dos pasos activada
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:

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou PHP:
http://pagina.com/imagengrande/545135.5.jpg

con este codigo reemplazo por el numero que yo quiera:

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou PHP:
http://pagina.com/imagengrande/545135.23.jpg

y usando los mismos codigos :

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



el resultado me sale:


Inserir CODE, HTML ou 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 edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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 , 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

😉
 
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:

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

reemplazo el numeroaleatorio.jpg

Inserir CODE, HTML ou 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:


Inserir CODE, HTML ou 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 edição:
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;


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

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

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

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

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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);
 
Voltar
Topo