Pomoc s úpravou regulárního výrazu

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
Uživatelský avatar
Rimmer
Level 4
Level 4
Příspěvky: 1171
Registrován: 01 bře 2003 00:04
Bydliště: Červený trpaslík

Pomoc s úpravou regulárního výrazu

Příspěvek od Rimmer »

Ahoj, potřeboval bych pomoc s úpravou jednoho regulárního výrazu. Koupil jsem script na zahraničních stránkách a funguje OK pro zahraniční stránky, jenže ne pro domácí. Po chvíli zkoumání jsem zjistil, že to je jen v jiném formátu vypisování info o domácích webech. Jde o info, kdy byl web založený. Když hledám datum založení u zahraničních webů, zobrazí se výjezd ve tvaru:

Kód: Vybrat vše

Creation Date: 1999-11-09


Když hledám totéž o českých stránkách, zobrazí se:

Kód: Vybrat vše

registered:   07.10.1996 02:00:00


Ve scriptu jsem našel místo, kde podle mě dochází k chybě. Potřeboval bych ho přepsat, přizpůsobit tomu, co vyjíždí u českých webů:
preg_match('#Creation Date: ([a-z0-9-]+)#si', $data, $p);

Poradí někdo? :shock:
Rimms
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od CZechBoY »

preg_match('#(Creation Date|registered): ([a-z0-9-]+)#si', $data, $p);
zkus
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Rimmer
Level 4
Level 4
Příspěvky: 1171
Registrován: 01 bře 2003 00:04
Bydliště: Červený trpaslík

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od Rimmer »

Dík za pokus, ale pořád to nejede. Zkoušel jsem vypsat $p, ať vím, jestli to vůbec něco načte, jenže je prázdný. Potřeboval bych vysvětlit tohle ([a-z0-9-]+)#si, co to přesně znamená?

a-z0-9 chápu jako hledej jakýkoliv znak a-z a jakýkoliv číslo, jenže co ta pomlčka za devítkou na konci a co to plusko za hranatou závorkou?
Rimms
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od CZechBoY »

pomlčka :)

jojo já zapoměl na zpětný lomítko ;)
preg_match('#(Creation\ Date|registered): ([a-z0-9-]+)#si', $data, $p);
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Rimmer
Level 4
Level 4
Příspěvky: 1171
Registrován: 01 bře 2003 00:04
Bydliště: Červený trpaslík

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od Rimmer »

Tak nakonec byl hlavní problém v oddělovači datumu (tohle zjištění mě stálo 3 hodiny mýho života :smile: ). Český datum se odděluje tečkou, zatímco v původním výrazu byl oddělovač pomlčka. Takže teprve to dole mi začlo fungovat tak, jak jsem potřeboval:

preg_match('#registered:   ([a-z0-9\.]+)#si', $data, $p);
Rimms
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od CZechBoY »

to ti ale nebude fungovat na obě verze..
nenapsal si konkrétní příklad takže jsem nemohl napsat konkrétní řešení ani já
hold popis problému je vždy nejtěžší úkol, odstranit problém je už pak hračka
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Rimmer
Level 4
Level 4
Příspěvky: 1171
Registrován: 01 bře 2003 00:04
Bydliště: Červený trpaslík

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od Rimmer »

Máš pravdu, ještě to chce trochu doladit, aby byl skript univerzálnější a je fakt, že je těžký poradit bez úplnýho zadání. Zkusím tam zapracovat tu tvojí verzi s "NEBO".

No a ještě jedna věc, dokážeš mi říct, co znamená to "#si" téměř na konci výrazu?? Prošel jsem několik stránek o výrazech a tohle jsem nikde nenašel, nechápu co to má být??
Rimms
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od CZechBoY »

nikde nenašel? no sakra :(
s je příznak an zpracování reguláru na všech řádcích
i je příznak na non-case-sensitive, prostě nebrat v potaz velikost písmen


preg_match('#(Creation\ Date|registered:  ): ([a-z0-9-\.]+)#si', $data, $p);
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Rimmer
Level 4
Level 4
Příspěvky: 1171
Registrován: 01 bře 2003 00:04
Bydliště: Červený trpaslík

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od Rimmer »

OK, dík za info. Jinak ta tvoje verze s | coby "NEBO" nějak nefunguje. Prozatím jsem to vyřešil podmínkou if, není to úplně ideální, no ale skript jede.
Rimms
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Pomoc s úpravou regulárního výrazu

Příspěvek od CZechBoY »

nechápu jak to nemůže jít, když mě to šlo
pošleš ty ukázkový data?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Pomoc s výběrem
    od belphegor666 » » v Rady s výběrem hw a sestavením PC
    14 Odpovědi
    12378 Zobrazení
    Poslední příspěvek od belphegor666
  • Pomoc s webem
    od Tay » » v Web-tipy a vaše weby
    5 Odpovědi
    49488 Zobrazení
    Poslední příspěvek od Tay
  • Pomoc při taktu
    od ondyN » » v Taktování a další úpravy PC
    2 Odpovědi
    10295 Zobrazení
    Poslední příspěvek od Dyonysos
  • Pomoc s výběrem komponent
    od kurkisak » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    4290 Zobrazení
    Poslední příspěvek od kurkisak
  • Pomoc s výběrem komponentů
    od Robrt » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    4933 Zobrazení
    Poslední příspěvek od Robrt

Zpět na „Programování a tvorba webu“