Comment puis-je convertir une chaîne comme ceci:URL avec php
[www.example.com?type=PC&brand=Dell&id=2]
à
[www.example.com/PC/Dell/2.html]
THz pour votre aide!
Comment puis-je convertir une chaîne comme ceci:URL avec php
[www.example.com?type=PC&brand=Dell&id=2]
à
[www.example.com/PC/Dell/2.html]
THz pour votre aide!
Essayez dans votre .htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteRule /(.*)/(.*)/(.*)\.html www.example.com?type=$1&brand=$2&id=$3
Voir mon commentaire sur la question. OP n'a jamais rien dit sur la réécriture. Il veut remplacer. –
@MadaraUchiha il s'est avéré que l'OP voulait vraiment la réécriture pas la conversion de chaîne ;-) –
En effet, il a. Ce qui signifie que le PO pourrait apporter quelques éclaircissements dans sa question. –
Si vous voulez mapper le premier maillon dans la seconde, pour que les URL de votre site plus joli, rendez-vous avec .htaccess
et Mod_rewrite
!
Ceci est la solution correcte:
$str = "[www.example.com?type=PC&brand=Dell&id=2]";
$str = trim($str,"[]"); //Remove square brackets, we'll add them back later
$url = parse_url($str); //Parse the URL into an array
$query = $url["query"]; //Part after the ?
$parts = explode("&", $query); //Have each GET variable into an array element
$parts = array_map(function($e) {
return preg_replace("/[^=]+=/", "", $e);
}, $parts); //Remove the part before the =.
$parts = implode("/", $parts); //Implode it back into a string.
$result = $url["path"] . "/" . $parts . ".html"; //Putting it back together
$result = "[$result]"; //I promised I'll put it back!
var_dump($result);
Je vais upvote celui-ci car c'est la réponse selon la question si OP pensé autrement et accepté différent. – itachi
** URL HTACCESS RÉÉCRITURE ** est la réponse –
@ Mr.Alien: Il n'a jamais rien dit de "réécriture", il parlait "remplacer" . –
@MadaraUchiha Je ne m'attends pas à ce que vous n'ayez pas ce qu'il voulait vraiment, il ne doit pas savoir le vrai mot –