Autor Zpráva
souki
Profil
Potřeboval bych reg. výraz pro mod_rewrite, ale nějak s ním nevím rady z následujících linků bych potřeboval dostat vždy tučnou část
/kat0/kat1/kat2/Konstatntni/
/kat0/Konstatntni/
/kat0/kat1/kat2/Konstatntni/Nekonstatntni/

Můžete mi prosím někdo poradit?
Casero
Profil
souki
a to znamená, že vždycky chceš vybrat část mezi / kde je potom napsáno konstatntní??
souki
Profil
vždy to co je tučně.... tzn poslední člen před konstatním
Casero
Profil
a co něco jednoduchýho jako .*/(.+)/Konstantní$
souki
Profil
nejsem si právě jist, jestli výraz vždycky začíná "/" a teď to nemůžu odzkoušet...
souki
Profil
a tím jsem si asi sám odpověděl... stačí napsat
.*/?(.+)/Konstantní$

prozatím děkuji za nakopnutí
djlj
Profil
<?

$content="/kat0/kat1/kat2/Konstantni/";

preg_match('/(.*)\/([a-z0-9]*)\/Konstantni(.*)/', $content, $popis);


print_r($popis);

?>

Tohle ti to vrátí:
/kat0/kat1/kat2/Konstantni/ - Array ( [0] => /kat0/kat1/kat2/Konstantni/ [1] => /kat0/kat1 [2] => kat2 [3] => / )
/kat0/Konstantni/ - Array ( [0] => /kat0/Konstantni/ [1] => [2] => kat0 [3] => / )
/kat0/kat1/kat2/Konstantni/Nekonstantni/ - Array ( [0] => /kat0/kat1/kat2/Konstantni/Nekonstantni/ [1] => /kat0/kat1 [2] => kat2 [3] => /Nekonstantni/ )


Tzn., že to máš vždycky v $popis[2] ;).


Aha, sakra, tys chtěl asi něco jinýho. Myslel, jsem, že to chceš dostat z tý rewrite adresy...
Casero
Profil
a toto teda - .*([^/]+)/Konstantní$ možná s eto musí escapovat

edit: ozdě..už sis to napsal líp
souki
Profil
bohužel mi všechny tři způsoby získají jen poslední písmeno :(
souki
Profil
RewriteRule ^.*/([^/]+)/konst$ /index.php?kat=$1 [L]
RewriteRule ^([^/]+)/konst$ /index.php?kat=$1 [L]

takhle to funguje... otázka zní: jde to udělat jedním?
Kajman_
Profil *
RewriteBase /
RewriteRule ^(.+/)?([^/]+)/konst/.*$ index.php?kat=$2 [L]
Toto téma je uzamčeno. Odpověď nelze zaslat.