Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře děti v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.
Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.
Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
$prom1 = "neco"; $prom2_pozice = "1"; $znak1 = "S"; $znak2 = "E";a potrebuji najit v souboru cast textu, ktery podle promenych rika: budu hledat 1 text "neco" za timto textem najdu první znak S a prvni znak E a mezi temito znaky vyberu text. Vůbec nevim jak na to mam jit. Poradil by mi prosím někdo? Googloval jsem cele odpoledne ale nenasel jsem vubec nic. Dekuji za pomoc. Pepa
Řešení dotazu:
/neco.*?S(.*?)E/
function vybrat_z_textu($prom2_pozice, $prom1, $znak1, $znak2, $string)
{
// vstupni kontrola
if (strlen($prom1) < 1)
$nalez = true;
else
$nalez = false;
if (strlen($string) < 1)
return;
// zjisti delku textu
$prom_lenght = strlen($prom1);
$string_lenght = strlen($string);
// prom2_pozice by mela obsahovat cislo v poradi znaku - tedy zacni na
// patem znaku => $prom2_pozice = 5;
$i = $prom2_pozice - 1;
// probiha hledani klicove fraze $prom1 v textu
while (($nalez != true) || ($string_lenght >= ($i + 1)))
{
// pokud prvni znak klic. fraze je shodny se znakem, ktery je na rade
if ($string[$i] == $prom1[0])
{
// zjisti zdali dalsi znaky jsou shodne
$n = $i + 1;
for ($j = 1; $j <= ($prom_lenght - 1); ++$j)
{
if ($string[$n] != $prom1[$j])
break;
else
$uspech = true;
++$n;
}
// pokud jsou dalsi znaky shodne, "vrati" pozici po klic. frazi
if ($uspech)
{
$i = $n;
break;
}
}
++$i;
}
// vyhleda obe pismena
$pozice_prvniho = 0;
$pozice_druheho = 0;
while (($nalez_druheho != true) || ($string_lenght >= ($i + 1)))
{
if ($string[$i] == $znak1)
$pozice_prvniho = $i;
if ($string[$i] == $znak2)
{
$pozice_druheho = $i;
$nalez_druheho = true;
}
++$i;
}
// vybere a vrati text mezi znaky
return substr($string, $pozice_prvniho + 1,
($pozice_druheho - $pozice_prvniho) - 1);
}
// vstupni data
$prom1 = "neco";
// predpokladam ze je zde pozice, na ktere ma zacit vyhledavat
$prom2_pozice = 1;
$znak1 = "S";
$znak2 = "E";
// vstupni text
$string = "Toto je cvicny text. Jde pouze o to, aby zde program nasel
slovo Neco NECO NeCo neco (zkouska) a potom pismeno S a mezi tim ma byt text - tedy je zde.
Nyni jiz musi najit pismeno E. A je to.";
var_dump(vybrat_z_textu($prom2_pozice, $prom1, $znak1, $znak2, $string));
/*
* Najde v ramci textu prvni vyskyt slova "neco" a vrati prvni podretezec,
* ktery nasleduje za timto nalezem mezi pismeny "S" a "E" (bez ohledu na
* spravne parovani znaku). Pokud nedojde ke shode, funkce vraci false.
*/
function foo($text)
{
$matches = array();
if (preg_match('/neco[^S]*S([^E]*)E/', $text, $matches) > 0)
return $matches[1];
return false;
}
Tiskni
Sdílej: