Um inconveniente com str_replace e array's

  • Autor Autor Lopezito
  • 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
Lopezito

Lopezito

Eta
Diseñador
Verificación en dos pasos activada
Buenas.
Estaba tratando de hacer un reemplazador con array's, pero resulta que he querido hacer el código un poco más corto.

El código:

PHP:
$link = 'http://web.com/g1.png';
$arraysearch = array('g1','g2','g3','g4','g5','g6','g7','g8','g9','g10','g11','g12','g13','g14','g15','g16','g17','g18','g19');
$arrayreplace = array('cOvj2cT','2h8oOY5','AjbReGd','vuIX1dK','Nq3u6EP','lPULWtv','8V33vax','hS5Ag1t','kALS3NO','KmqY3cO','W68dZTA','LQevxzT','ks4ITaJ','dzAbu3c','isog89x','HGGC4qZ','INV3Ljd','sI6V2uw','J0qZmzf');
$link = str_replace('http://web.com/'.$arraysearch.'.png','http://otraweb.com/'.$arrayreplace.'.png',$link);
echo $link;

Y me devuelve:

Inserir CODE, HTML ou PHP:
http://web.com/g1.png

Como verá no me reemplaza de la manera en que lo hago, pero si pongo antes de cada valor de $arraysearch (g1, g2, g3) lo que va antes que sería "http://web.com", si lo hace(al igual que la parte de $arrayreplace).
¿Hay alguna manera de que no tenga que poner en cada valor del array lo de 'http://web.com', 'http://otraweb.com' y '.png'?
Saludos.
 
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
PHP:
<?php
$link = 'http://web.com/g1.png'; 
$link = str_replace(
        array('g1','g2','g3','g4','g5','g6','g7','g8','g9','g10','g11','g12','g13','g14','g15','g16','g17','g18','g19'),
        array('cOvj2cT','2h8oOY5','AjbReGd','vuIX1dK','Nq3u6EP','lPULWtv','8V33vax','hS5Ag1t','kALS3NO','KmqY3cO','W68dZTA','LQevxzT','ks4ITaJ','dzAbu3c','isog89x','HGGC4qZ','INV3Ljd','sI6V2uw','J0qZmzf'),
        $link
 );
echo $link;  
?>
 
PHP:
<?php
$link = 'http://web.com/g1.png'; 
$link = str_replace(
        array('g1','g2','g3','g4','g5','g6','g7','g8','g9','g10','g11','g12','g13','g14','g15','g16','g17','g18','g19'),
        array('cOvj2cT','2h8oOY5','AjbReGd','vuIX1dK','Nq3u6EP','lPULWtv','8V33vax','hS5Ag1t','kALS3NO','KmqY3cO','W68dZTA','LQevxzT','ks4ITaJ','dzAbu3c','isog89x','HGGC4qZ','INV3Ljd','sI6V2uw','J0qZmzf'),
        $link
 );
echo $link;  
?>

Emm, la idea es que no cambie solo el nombre de la imagen, si no la ubicación, o sea, ese código daría como resultado "http://web.com/cOvj2cT.png" y yo lo que quiero es que salga "http://otraweb.com/cOvj2cT.png", fíjate el código que expuse en el primer post.
Saludos.
 
Emm, la idea es que no cambie solo el nombre de la imagen, si no la ubicación, o sea, ese código daría como resultado "http://web.com/cOvj2cT.png" y yo lo que quiero es que salga "http://otraweb.com/cOvj2cT.png", fíjate el código que expuse en el primer post.
Saludos.

¿web.com y otraweb.com es son variables?
 
PHP:
<?php
$link = 'http://web.com/g1.png';
$arraysearch = array('g1','g2','g3','g4','g5','g6','g7','g8','g9','g10','g11','g12','g13','g14','g15','g16','g17','g18','g19');
$arrayreplace = array('cOvj2cT','2h8oOY5','AjbReGd','vuIX1dK','Nq3u6EP','lPULWtv','8V33vax','hS5Ag1t','kALS3NO','KmqY3cO','W68dZTA','LQevxzT','ks4ITaJ','dzAbu3c','isog89x','HGGC4qZ','INV3Ljd','sI6V2uw','J0qZmzf');
$link = str_replace($arraysearch,$arrayreplace,$link);
$link = str_replace('http://web.com/', 'http://otro.com/', $link);
echo $link;
?>

Asi quedaria como en teoria quieres
 
PHP:
<?php
$link = 'http://web.com/g1.png';
$arraysearch = array('g1','g2','g3','g4','g5','g6','g7','g8','g9','g10','g11','g12','g13','g14','g15','g16','g17','g18','g19');
$arrayreplace = array('cOvj2cT','2h8oOY5','AjbReGd','vuIX1dK','Nq3u6EP','lPULWtv','8V33vax','hS5Ag1t','kALS3NO','KmqY3cO','W68dZTA','LQevxzT','ks4ITaJ','dzAbu3c','isog89x','HGGC4qZ','INV3Ljd','sI6V2uw','J0qZmzf');
$link = str_replace($arraysearch,$arrayreplace,$link);
$link = str_replace('http://web.com/', 'http://otro.com/', $link);
echo $link;
?>

Asi quedaria como en teoria quieres

O así:

PHP:
<?php
$link = 'http://web.com/g1.png'; 
$link = str_replace(
        array('http://web.com/','g1','g2','g3','g4','g5','g6','g7','g8','g9','g10','g11','g12','g13','g14','g15','g16','g17','g18','g19'),
        array('http://otraweb.com/','cOvj2cT','2h8oOY5','AjbReGd','vuIX1dK','Nq3u6EP','lPULWtv','8V33vax','hS5Ag1t','kALS3NO','KmqY3cO','W68dZTA','LQevxzT','ks4ITaJ','dzAbu3c','isog89x','HGGC4qZ','INV3Ljd','sI6V2uw','J0qZmzf'),
        $link
 );
echo $link;  
?>

LOL.
 
la verdad que si, que elija cual le queda mejor :witless: pero es lo mismo que igual 😉 :encouragement:
 
Voltar
Topo