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í
×
    včera 15:00 | Zajímavý článek

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 2
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 0
    9.5. 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 579 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Dotaz: php eregi_replace

    19.2.2009 17:52 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    php eregi_replace
    Přečteno: 486×

    Jak v PHPku v eregi_replace, nebo jiné funkci pro regulérní výrazy zadám, že má nahrazovat pouze pokud je sudý počet určitých znaků.

    Konkrétně potřebuju pracovat s textem, který je rozdělen do řádků a řádky do elementů pomocí znaku ; Jenomže jak znak konce řádků, tak ; může být součástí textu a to že to tak není se pozná podle toho jestli je před \r\n a ; nula, nebo sudý počet \.

    Odpovědi

    19.2.2009 19:56 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: php eregi_replace
    Něco jako \(..\)* nestačí?
    19.2.2009 19:58 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: php eregi_replace
    Bez těch lomítek.
    21.2.2009 11:44 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: php eregi_replace

    Bez jakých lomítek?

    Mám takový textový soubor:

    toto ma byt na jedne \
    radce
    a toto taky \\
    toto má být na další řádce
    Zkoušel jsem vymyslet něco takového:
    <?php
    $h=fopen("text.txt","r");
    $text=fread($h,filesize("text.txt"));
    fclose($h);
    
    $pole=spliti("((\\\\\\\\)*\n)",$text);
    array_pop($pole);
    print_r($pole);
    echo "<hr>";
    $pole=preg_split("/(\\\\\\\\)*\n/",$text);
    array_pop($pole);
    print_r($pole);
    ?>
    
    Jenomže obojí mi text vypíše jako
    Array ( [0] => toto ma byt na jedne \ [1] => radce [2] => a toto taky [3] => toto ma byt na dalsi radce  ) 
    Array ( [0] => toto ma byt na jedne \ [1] => radce [2] => a toto taky [3] => toto ma byt na dalsi radce ) 
    
    Místo:
    Array ( [0] => toto ma byt na jedne \ radce [1] => a toto taky [2] => toto ma byt na dalsi radce ) 
    Array ( [0] => toto ma byt na jedne \ radce [1] => a toto taky [2] => toto ma byt na dalsi radce ) 
    
    Kde dělám chybu? Proč mi to rozdělí ten text po tom lomítku v [0]? Předem děkuji za vaše odpovědi.
    21.2.2009 14:55 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: php eregi_replace
    Lomítko je výraz pro slash, čili tento znak: ---> \, zde se jedná o backslash, čili zpětné lomítko.

    Takže oprava mého komentáře

    Něco jako \(..\)* nestačí?

    po aplikaci "bez těch lomítek"

    vychází takto:

    Něco jako (..)* nestačí?

    Zjevně to nestačí, na popsání výrazu skoro ano, ale problém funkce split je, že popsaný výraz z výsledku vykousne, což je problém u výrazu kde je 0 lomítek. 2, 4, 6 lomítek popíšete (\\\\\\\\)+\n, nula lomítek zase [^\\\\]\n, ale to vám sežere to jedno písmeno (nelomítko) před koncem řádku.

    Takže výraz jako jako ([^\\\\]|(\\\\\\\\)+\n nebo [^\\](\\\\\\\\)*\n což je zhruba totéž funguje, problém je že tímto se sice popíše daný řetězec, ale někdy ještě jeden znak před tím koncem řádku bez lomítka. Řešení zatím nevidím, je to asi mimo rámec těchto regulárních výrazů (je to problém že chcete popsat kontext ale necete ten kontext vykousnout).
    21.2.2009 14:57 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: php eregi_replace
    opr.: ([^\\\\]|(\\\\\\\\)+)\n
    21.2.2009 15:00 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: php eregi_replace
    Bude to chtít projet ten vstupní řetězec a zkonsolidovat ho, třeba \n kterému nepředchází žádné lomítko nahradit dvěma lomítky a \n, tedy \\\n. Že by to přecejen nějak šlo jen tou fcí split se mi nezdá.
    23.2.2009 13:48 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: php eregi_replace
    Pouzij explode a mas to na par radek.
    23.2.2009 14:00 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: php eregi_replace
    A explode umí regulární výrazy?
    23.2.2009 17:58 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: php eregi_replace
    Však to dělá, vizte diskuzi. Přesněji používá split/preg_split kvůli regexp/pcregexp. Na pár řádek to zatím nevypadá, spíš na dvouprůchodové řešení :)

    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.