2010-11-29 20 views
0

J'essaie de comprendre comment remplacer une base d'URL par une autre dans PHP.Remplacement d'une base d'URL par une autre dans PHP

Donc une fonction qui prend "http://www.website1.com/test" et remplace le "http://www.website1.com" pour le rendre "http://www.website2.com/ test ".

Ceci est probablement une fonction rapide très facile mais j'ai du mal à trouver le bon str_replace() pour y arriver.

<?php 
$pre_replace = "http://www.website1.com/test"; 
$post_replace = str_replace(
    'http://www.website1.com', 
    'http://www.website2.com', 
    $pre_replace); 
echo $post_replace; 
?> 

ne fonctionne pas tout à fait pour une raison quelconque

Répondre

1

str_replace devrait fonctionner très bien ..

<?php 
$string = 'http://www.website1.com/test'; 
$replace = 'http://www.website1.com'; 
$replaceWith = 'http://www.website2.com'; 
echo str_replace($replace, $replaceWith, $string); 
+0

Merci pour cela! Maintenant, y aurait-il un moyen pour ma référence de la chaîne, le wordpress posts permalink? C'est appelé par DavidWells

0

Essayez:

<?php 

    //---------------- 
    // Original base 
    $pre_replace = 'http://www.website1.com/test'; 

    //---------------- 
    // New base 
    echo $post_replace = str_replace('website1','website2',$pre_replace); 
?> 
0

la solution la plus fiable, je d rompez probablement l'URL en utilisant parse_url(), modifiez la partie hôte si nécessaire, puis remettez-la en place éther. De cette façon, vous pouvez compter sur les corrections de bogues qui ont fait parse_url() au fil des ans plutôt que de réinventer la roue de l'analyseur.