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 16:11 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 4. a 5. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu.

Ladislav Hagara | Komentářů: 0
dnes 14:11 | Komunita

Některým uživatelům Firefoxu se tento týden do Firefoxu nainstalovalo neznámé rozšíření Looking Glass 1.0.3 (png). Ve fórů Mozilly se řešilo, zda se nejedná o malware. Mozilla později informovala, že se jednalo o reklamu na seriál Mr. Robot. Řadě uživatelů Firefoxu se jednání Mozilly vůbec nelíbilo. Mozilla proto automatickou instalaci doplňku ukončila [Hacker News, reddit].

Ladislav Hagara | Komentářů: 8
včera 12:00 | Nová verze

Po cca 3 týdnech od vydání Linux Mintu 18.3 s kódovým jménem Sylvia a prostředími MATE a Cinnamon byla oznámena také vydání s prostředími KDE a Xfce. Podrobnosti v poznámkách k vydání (KDE, Xfce) a v přehledech novinek s náhledy (KDE, Xfce). Linux Mint 18.3 je podporován do roku 2021.

Ladislav Hagara | Komentářů: 6
15.12. 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 52
15.12. 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
15.12. 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 10
15.12. 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
14.12. 23:55 | Nová verze

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 10
14.12. 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
14.12. 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (0%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 1008 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    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: 452×

    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 maertien | 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.