Autor Zpráva
Mrozec
Profil *
zdravim,

mam v promene $url hodnotu '?jmeno=jan&prijmeni=novak'

a rad bych ji dostal do nasledujici podoby

$url_nova[jmeno] = 'jan'
$url_nova[prijmeni] = 'novak'

jak na to? děkuji, dekuji!
tiso
Profil
Mrozec:
$url_nova=$_GET;
drasha
Profil
Co třeba:
  $url_nova[jmeno] =  $_GET["jmeno"] // jmeno
  $url_nova[prijmeni] =  $_GET["prijmeni"] // prijmeni


zase o pár sekund pomalejší :(
Radek9
Profil
Mrozec:
$url_nova[jmeno] = 'jan'
$url_nova[prijmeni] = 'novak'
Ty máš definované konstanty jmeno a prijmeni? :-)

drasha:
Co třeba:
No to asi ne. :-) Pořádně se na to koukni.
Mrozec
Profil *
dekuji za rychlou odpoved!

ale... v promene $url mam nasledujici retezec

$url = ?jmeno=jan&prijmeni=novak;


jak ho rozprasovat?
mckay
Profil
drasha:
A ještě obráceně :-)
$url_nova["jmeno"] = $_GET["jmeno"];
$url_nova["prijmeni"] = $_GET["prijmeni"];


Mrozec:
Přesně tak, jak jsem teď napsal.
Radek9
Profil
Mrozec:
$url = ?jmeno=jan&prijmeni=novak;
Takový "řetězec" asi ne... Nemáš tam náhodou
$url = "?jmeno=jan&prijmeni=novak";

?
Mrozec
Profil *
Ano, mam.

$url = "?jmeno=jan&prijmeni=novak";
mckay
Profil
Radek9:
Neopravuj ho stále kvůli takovým blbostem:-), děláme to tu potom nepřehlednější. Je téměř jisté, že to myslel schématicky. Jestli máš nějakou výhradu k mému postu, směřuj jí na jabber;-)
Radek9
Profil
Tak tedy:
$url_nova = array();
$url = explode("&", str_replace("?", "", $url));
foreach($url as $cast_url){
  $cast_url = explode("=", $cast_url);
  $url_nova[$cast_url[0]] = $cast_url[1];
}
Mrozec
Profil *
dekuji radku
drasha
Profil
Mrozec:
Kdyby ta URL byla omezená jen na ty dva parametry, šlo by to i:
preg_match("/ \W+\w+\W+(?<one>\w+)\W+\w+\W+(?<two>\w+)/", $url, $match);
// $match['one'] = jan; ... 

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: