Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Jak vytáhnout část textu z URL a potom vložit do proměnné?

lahwin
verified
rating uzivatele
(12 hodnocení)
3. 1. 2016 17:44:22
Zdravím, nevím zda to jde a tak se zeptám zde.
Potřebuji vytáhnout část textu z url to v závorce a potom vložit do proměné.
Jde mi o to že po smazaném inzerátu nechci vracet 404 ale nasmerovat uživatele na hledání a použít k hledání výrazy co nejvíce podobné (stejné) těm, které byli v dané chvíly v url smazaného inzerátu.
jenomze názvy kategorií jsou různě dlouhé a netuším jak se dostat k textu za lomítkem..
např:
..domena.cz/sluzby/kdy-pomuze-oddluzeni-179248.html ( kdy-pomuze-oddluzeni )
..domena.cz/sport/sjezdove-lyze-199248.html ( sjezdove-lyze )
Teď podstrkuji jen výpis náhodných inzerátů a to mi přijde neužitečné pro uživatele kteří přišli přímo něco hledat viz.
S BAZAR CZ, MUJ BAZOŠ…
Děkuji za případnou radu.
P.
doplnění:
bazos to má takto:
http://nabytek.bazos.cz/inzerat/54283556/Koberec-120x170.php
výtahne to také z url jen část a použije rovnou k hledání.
3. 1. 2016 17:44:22
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162561
Jiří
verified
rating uzivatele
(1 hodnocení)
3. 1. 2016 17:59:25
Ahoj,
tvůj problém zcela jistě vyřeší preg_match
Klíč vidím na konci řetězce :-) (*/hledanýřetězec-číslo.html)
http://app.jiripocta.cz/regex.php
Dále samozřejmě pomocí explode odfiltrovat "-" a hurá je hotovo :-)
3. 1. 2016 17:59:25
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162560
lahwin
verified
rating uzivatele
(12 hodnocení)
3. 1. 2016 18:05:21
Napsal NOsmall;1252702
Ahoj,
tvůj problém zcela jistě vyřeší preg_match
Klíč vidím na konci řetězce :-) (*/hledanýřetězec-číslo.html)
To je na mě bohužel momentálně moc složité, ale díky za tip, budu to muset nastudovat.
3. 1. 2016 18:05:21
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162559
lol-man
verified
rating uzivatele
3. 1. 2016 18:10:34
myslím, že by to taky šlo pomocí funkce explode(URL/GET PARAMETR)
3. 1. 2016 18:10:34
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162558
Jan Kuthan
verified
rating uzivatele
(48 hodnocení)
3. 1. 2016 18:22:54
Správnějším řešením je inzeráty z db nemazat, jen disablovat. V tomto případě by jsi pak vyhledal inzerát, zjistil že je disablovaný, načetl jej, případně vrátil 404 nebo dle libosti využil načtená data z disablovaného inzerátu - nicméně máš kompletně všechna data co potřebuješ bez nespolehlivých preg_matchů ;)
3. 1. 2016 18:22:54
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162557
lahwin
verified
rating uzivatele
(12 hodnocení)
3. 1. 2016 18:27:30
Napsal kdosiodjinud;1252711
Správnějším řešením je inzeráty z db nemazat, jen disablovat. V tomto případě by jsi pak vyhledal inzerát, zjistil že je disablovaný, načetl jej, případně vrátil 404 nebo dle libosti využil načtená data z disablovaného inzerátu - nicméně máš kompletně všechna data co potřebuješ bez nespolehlivých preg_matchů ;)
asi to tak nakonec udělám, z toho preg_match jsem nějakej španěl :o)
3. 1. 2016 18:27:30
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162556
Jan Kuthan
verified
rating uzivatele
(48 hodnocení)
3. 1. 2016 18:29:32
Napsal lahwin;1252715
asi to tak nakonec udělám, z toho preg_match jsem nějakej španěl :o)
Tím preg_matchem to řešit můžeš, ale bude to nespolehlivé, kostrbaté a prostě nepěkné :). Navíc jedno z dobrých pravidel, kterých se držím je nikdy z db nemazat, jen označovat jako smazané ;)
3. 1. 2016 18:29:32
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162555
i-PRESS
verified
rating uzivatele
(2 hodnocení)
3. 1. 2016 18:36:58
Napsal kdosiodjinud;1252716
nikdy z db nemazat
Tesat do kamene!
3. 1. 2016 18:36:58
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162554
Jiří
verified
rating uzivatele
(1 hodnocení)
3. 1. 2016 19:03:51
Tím preg_matchem to řešit můžeš, ale bude to nespolehlivé, kostrbaté a prostě nepěkné :)
* Jaké si to uděláš takové to máš, nikdy se mi nestalo, že by preg_match nefungoval tak jak jsem si to nakódoval, navíc je to nepostradatelný pomocník v mnohých situacích.
myslím, že by to taky šlo pomocí funkce explode(URL/GET PARAMETR)
* Explode problém rozhodně neřeší.
nikdy z db nemazat
Jistě, jistě .. deset let starý inzerát ve vyhledávání je jistě dobré praSEO, ale pro zákazníka pouze ztráta času.
Souhlasím s flagováním "deleted" nicméně stejně by tento smazaný inzerát neměl být dostupný veřejnosti více jak několik dnů po vypršení platnosti nebo po zrušení uživatelem. - To je samozřejmě jen můj názor :-)
3. 1. 2016 19:03:51
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162553
Jan Kuthan
verified
rating uzivatele
(48 hodnocení)
3. 1. 2016 19:12:46
Napsal NOsmall;1252727
* Jaké si to uděláš takové to máš, nikdy se mi nestalo, že by preg_match nefungoval tak jak jsem si to nakódoval, navíc je to nepostradatelný pomocník v mnohých situacích.
* Explode problém rozhodně neřeší.
Jistě, jistě .. deset let starý inzerát ve vyhledávání je jistě dobré praSEO, ale pro zákazníka pouze ztráta času.
Souhlasím s flagováním "deleted" nicméně stejně by tento smazaný inzerát neměl být dostupný veřejnosti více jak několik dnů po vypršení platnosti nebo po zrušení uživatelem. - To je samozřejmě jen můj názor :-)
Trochu to motáš, disablování != dostupnost pro uživatele, výraz praSEO neznám, podle mě to je ale úplně mimo. Ten preg_match má soustu důvodů, ale k mému štěstí si snad tazatel výhody řešení skrze databázi uvědomuje, takže vysvětlovat netřeba :)
3. 1. 2016 19:12:46
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162552
Jiří
verified
rating uzivatele
(1 hodnocení)
3. 1. 2016 19:36:24
Napsal kdosiodjinud;1252728
Trochu to motáš, disablování != dostupnost pro uživatele, výraz praSEO neznám, podle mě to je ale úplně mimo. Ten preg_match má soustu důvodů, ale k mému štěstí si snad tazatel výhody řešení skrze databázi uvědomuje, takže vysvětlovat netřeba :)
:-) nn nemotám rozumím tvému řešení, a tak jak jsem to napsal já, to má své opodstatnění. Tazatel nerozumí regulérním výrazům proto to bude raději řešit taháním jednoho údaje z DB.
Správný kodér myslí především na stránku technickou a poté na stránku uživatelskou. Moje řešení by bylo, "netahat nic z DB" && zatěžovat server co nejméně.
Správné uživatelské řešení je dle mého názoru, zobrazovat inzerát, který už není aktivní cca po dobu 7 dní. (samozřejmě s informací, že inzerát je starý nebo vypršela jeho platnost nebo že je zrušený) poté smazat a to všude :-)
Navíc tuto stránku bych generoval pouze jednou a to při vypršení platnosti inzerátu pak už by byla tato stránka pouze v CACHE (možná jako soubor) == žádné zatížení pro SERVER ani DB.
Samozřejmě pokud neřeší zatížení SERVERU, a každé načtení dat z DB tak je to jedno :-)
3. 1. 2016 19:36:24
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162551
lahwin
verified
rating uzivatele
(12 hodnocení)
3. 1. 2016 19:50:12
Nemohl by mi prosim někdo ten kus kódu pro vytažení onoho výrazu z URL sem hodit? já jsem z toho nechytrý...
a nehádejte se :o)
3. 1. 2016 19:50:12
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162550
i-PRESS
verified
rating uzivatele
(2 hodnocení)
3. 1. 2016 19:54:45
Napsal NOsmall;1252733
"netahat nic z DB" && zatěžovat server co nejméně.
To nějak nechápu.. Jaký je rozdíl jestli se zeptá databáze a ta mu vrátí NULL (inzerát neexistuje) nebo mu místo null vrátí název inzerátu? Copak ten výsledek nemůžete i tak cachovat?
BTW, pokud někdo, kdo není Amazon, google, nebo FB musí řešit 1 dotaz do DB, bude asi špatně spíše návrh systému, ono třeba s použitím nette Database to může být i rychlejší, než lovit někde na disku nějaký předem zpracovaný výsledek. Tuto optimalizaci chápu u extrémně navštěvovaných služeb, ale toto předpokládám nebude ten případ :-)
3. 1. 2016 19:54:45
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162549
lol-man
verified
rating uzivatele
3. 1. 2016 20:02:12
* Explode problém rozhodně neřeší.
Můžu se zeptat proč by to nemohlo jít takhle ?
3. 1. 2016 20:02:12
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162548
lahwin
verified
rating uzivatele
(12 hodnocení)
3. 1. 2016 20:18:56
Napsal lol-man;1252743
Můžu se zeptat proč by to nemohlo jít takhle ?
To je vono :o)
funguje to dobře !
Děkuji za pomoc.
p :o)
---------- Příspěvek doplněn 03.01.2016 v 20:28 ----------
ještě jsem doplnil pluska :o)
$url = $_SERVER;
$url = ltrim($url, '/');
$url = explode('/', $url);
$url = explode('-', $url);
unset($url);
$searchString = implode(' ', $url);
$search =(str_replace(" ","+","$searchString"));
dik y ještě jednou.
3. 1. 2016 20:18:56
https://webtrh.cz/diskuse/jak-vytahnout-cast-textu-z-url-a-potom-vlozit-do-promenne/#reply1162547
Pro odpověď se přihlašte.
Přihlásit