Diskuze: Pokud je site: na začátku dotazu tak dát dotaz jinam než kdyby tam nebylo

PHP PHP Pokud je site: na začátku dotazu tak dát dotaz jinam než kdyby tam nebylo American English version English version

Aktivity (1)
Avatar
Matěj Strnad:31. května 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. května 18:27
Ty vaše internety!
Avatar
Petr Čech
Redaktor
Avatar
Petr Čech:31. května 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. května 19:09
the cake is a lie
Avatar
Matěj Strnad:31. května 19:14

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

Nahoru Odpovědět 31. května 19:14
Ty vaše internety!
Avatar
Matěj Strnad:31. května 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. května 19:30
Ty vaše internety!
Avatar
Odpovídá na Matěj Strnad
Uživatel sítě :31. května 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. května 20:10
Chybami se člověk učí, běžte se učit jinam!
Avatar
Matěj Strnad:31. května 20:48

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

Nahoru Odpovědět 31. května 20:48
Ty vaše internety!
Avatar
Odpovídá na Matěj Strnad
Uživatel sítě :31. května 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. května 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.