Geek tričko zdarma Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Avatar
Matěj Strnad:31.5.2018 18:27

Jak mám udělat to aby když na začátku dotazu bude

site:

tak s vzít to za tím a dát do jiné hodnoty než kdyby tam to site: nebylo. :)

 
Odpovědět 31.5.2018 18:27
Avatar
Petr Čech
Redaktor
Avatar
Petr Čech:31.5.2018 19:09

Budeš chtít použít funkce substr a strpos.
Strpos ti řekne, jestli to tím začíná a substr ti to umožní odseknout.

Nahoru Odpovědět 31.5.2018 19:09
the cake is a lie
Avatar
Matěj Strnad:31.5.2018 19:14

V tomto se moc nevyznám je možný nějaký příklad? Děkuji :)

 
Nahoru Odpovědět 31.5.2018 19:14
Avatar
Matěj Strnad:31.5.2018 19:30

Už to mám udělal sem to takto:

$q_site_f_1 = substr("$q",0, 5);
if($q_site_f_1 == "site:"){
$q_site = mb_substr($q, 5, 64);
}

Mám to dobře? :)

 
Nahoru Odpovědět 31.5.2018 19:30
Avatar
Odpovídá na Matěj Strnad
Uživatel sítě :31.5.2018 20:10

Pokud to funguje a dělá co potřebuješ tak nejspíže ano.. :D

Možností máš více a já bych to řešil například takto:

$s = 'site:test';
preg_match('~^site:(.*?)$~', $s, $m);

if($m){
    //začíná 'site:'
}

Nebo můžeš použít explode kde zkontroluješ zda první pole je site, apod..

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 31.5.2018 20:10
Chybami se člověk učí, běžte se učit jinam!
Avatar
Matěj Strnad:31.5.2018 20:48

Vypadá to profesionálněji ale moc tomu nerozumím :)

 
Nahoru Odpovědět 31.5.2018 20:48
Avatar
Odpovídá na Matěj Strnad
Uživatel sítě :31.5.2018 21:10

Regulární výrazy, podívej se po tom, určitě to není naposled co si o nich slyšel.. ;)

Nahoru Odpovědět 31.5.2018 21:10
Chybami se člověk učí, běžte se učit jinam!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.