abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:55 | Nová verze

    Byl vydán Mozilla Firefox 142.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 142 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Zajímavý článek

    Python Developers Survey 2024, výsledky průzkumu mezi vývojáři v Pythonu organizovaném Python Software Foundation ve spolupráci se společností JetBrains v říjnu a listopadu loňského roku. Zúčastnilo se 30 tisíc vývojářů z 200 zemí. Linux používá 59 % z nich.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Zajímavý článek

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 2
    dnes 01:55 | Nová verze

    Byla vydána nová verze 2.51.0 distribuovaného systému správy verzí Git. Přispělo 91 vývojářů, z toho 21 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 01:33 | Zajímavý článek

    Po roce bylo vydáno nové číslo magazínu Phrack: Phrack 72.

    Ladislav Hagara | Komentářů: 2
    včera 19:33 | Pozvánky

    OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.

    Ladislav Hagara | Komentářů: 3
    včera 19:22 | Komunita

    Konference LinuxDays 2025 proběhne o víkendu 4. a 5. října v Praze. Konference OpenAlt 2025 o víkendu 1. a 2. listopadu v Brně. Blíží se konec přihlašování přednášek. Přihlaste svou přednášku (LinuxDays do 31. srpna a OpenAlt do 3. října) nebo doporučte konference známým.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Raspberry Pi Touch Display 2 je nově vedle 7palcové k dispozici také v 5palcové variantě. Rozlišení stejné 720 × 1280 pixelů. Cena 40 dolarů.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | IT novinky

    Telnet a ssh klient PuTTY postupně přechází na novou doménu putty.software.

    Ladislav Hagara | Komentářů: 4
    16.8. 01:00 | Komunita

    Debian dnes slaví 32 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 19
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (77%)
     (9%)
     (9%)
     (0%)
     (5%)
     (0%)
    Celkem 22 hlasů
     Komentářů: 4, poslední dnes 16:48
    Rozcestník

    Dotaz: Jak v PHP smazat z url vse za otaznikem

    11.1.2018 00:40 O|O
    Jak v PHP smazat z url vse za otaznikem
    Přečteno: 1012×
    Dobry vecer, poradte mi prosim jak smazat z promene otaztnik a vse co je za nim

    $var = '/prvni/druha?name=treti&id=2';

    v PHP neumim a nedari se mi najit vhodny priklad. Moc dekuji.

    Řešení dotazu:


    Odpovědi

    11.1.2018 00:48 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem
    Jde to více metodami, mně se osvědčila kompletní rozborka pomocí funkce parse_url().
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    11.1.2018 01:07 O|O
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem
    Ahoj, tak jsem zkusil

    echo parse_url($_GET['url']) ;

    ale vraci mi to z takove url

    /prvni/druha?name=treti&id=2

    toto

    /prvni/Array

    co mam spatne
    11.1.2018 02:38 trilobyte | skóre: 2 | blog: podtrzitko
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem
    Ta funkce vraci pole a echo to pak jenom nejak podivne vytiskne (se spravne nastavenym severem by melo hodit Notice: Array to string conversion in test.php).
    Zkus print_r(parse_url($var)); nebo var_dump(parse_url($var)); to ti ukaze co skutecne leze z ty fce.
    11.1.2018 08:06 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem
    Jazykom PHP síce nehovorím, ale základný triviálny algoritmus by mal fungovať v akomkoľvek jazyku: splitnúť reťazec na podreťazce s použitím otázniku ako delimitera a z výsledku zobrať prvý element.
    11.1.2018 08:16 ehmmm
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem
    A pro tento pripad jeste efektivneji: najit prvni otaznik a vzit jenom to, co je pred nim. Takze neco jako substr(url, 0, strpos(url, "?")), tedy za predpokladu, ze tam ten otaznik je. (Ceckari by samozrejme jeli pointerem od zacatku stringu po otaznik, efektivneji to uz snad ani nejde.) Uznavam ale, ze s tim explode() bude kod strucnejsi.
    15.1.2018 13:22 julus
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem
    Nejjednodussi reseni mi prijde asi $_SERVER['PHP_SELF']
    15.1.2018 17:42 jiwopene | skóre: 31 | blog: Od každého trochu…
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem
    Zvolte jednu:

    Práce s řetězcem -- odmazat vše od 1. otazníku
    <?php
    function qa_delete($url) {
    $pos = strpos($url, '?');
    if ($pos !== false)
    return substr($url, 0, $pos);
    return $url;
    }
    Použití:
    <?php
    var_dump(qa_delete('/prvni/druha?name=treti&id=2'));
    Práce s řetězcem -- odmazat vše od posledního otazníku (změna strpos na strrpos v kódu)
    <?php
    function qa_delete($url) {
    $pos = strrpos($url, '?');
    if ($pos !== false)
    return substr($url, 0, $pos);
    return $url;
    }
    Regulární výraz -- odmazat od 1. otazníku
    <?php
    function qa_delete($url) {
    preg_match('@([^?]*)@', $url, $m);
    return $m[1];
    }
    Ukázka použití (jedna z předchozích možností musí být spuštěna předem):
    <?php
    var_dump(qa_delete('/prvni/druha?name=treti&id=2'));
    Výstup:
    string(12) "/prvni/druha"
    .sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
    Řešení 1× (Ján Dráb)
    19.1.2018 22:27 Ján Dráb | skóre: 4 | Banská Bystrica
    Rozbalit Rozbalit vše Re: Jak v PHP smazat z url vse za otaznikem

    naozaj netreba vymyslat hluposti a precitat si pripadne dokumentaciu k parse_url http://php.net/manual/en/function.parse-url.php

    $full_url =  'http://www.abclinuxu.cz/EditDiscussion/431817?action=add&dizId=228744&threadId=0';
    $part = '/prvni/druha/?name=treti&id=2';
    
    $full_url_clear = parse_url($full_url,PHP_URL_PATH);
    var_dump($full_url_clear); // string(22) "/EditDiscussion/431817"
    
    $part_clear = parse_url($part,PHP_URL_PATH);
    var_dump($part_clear); // string(13) "/prvni/druha/"
    
    Everything has room for improvement.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.