Autor Zpráva
jok1955
Profil
Zdravím všechny. Mám spoustu fotek, které chci dát do databáze (pouze názvy a umístění)
Chtěl bych mít pole údaj roku pořízení fotografie. Naštěstí jsem fota pojmenovával vždy ve formátu např. ppr_spol_1986_deti.jpg nebo ppr_dipl_1989_katb_tibet.jpg... vždy je v názvu rok, ale ne na stejné pozici. Jak z názvu rok vycucnout? Mělo by to jít pomocí regulárních výrazů - si myslím, ale neumím je na takové úrovni, abych uspěl. Poradí mi někdo, pls?
Kcko
Profil
jok1955:
Nejjednodušeji (z hlavy):
preg_match_all('~\d+~', $str, $matches);
print_r($matches);


Resp. pokud tam bude jen jedno číslo tak takto:


<?php

$data = [
    'ppr_dipl_1989_katb_tibet.jpg',
    ' ppr_spol_1986_deti.jpg',
];

foreach ($data as $str) {
    preg_match('~\d+~', $str, $matches);
    print_r($matches);
}
jok1955
Profil
UZASNE. FUNGUJE.
Omlouvám se za ty pochyby, které zaznívají z reakce :-) Když vidím tu jednoduchost, kterou neumím, mohl bych poprosit jeste o separaci textu za cislem (rokem) az k pripone jpg ? Díky.
Kcko
Profil
jok1955:
Pokud to bude vždy tak, že to číslo nebude až zcela na konci a za ním bude text tak:

       preg_match('~(\d+)(.+).jpg$~', $str, $matches);
       print_r($matches);
jok1955
Profil
Není to ono...myslel jsem od cisla bez cisla az k jpg bez jpg...ale už znám směr kudy jít a hlavně ten rok byl důležitější. Díky moc.
Kcko
Profil
jok1955:
Dělá to co jsi chtěl.

Vyprintiuj si to pole pořádně.
jok1955
Profil
Jo jasně, omlouvám se!!!! Je to až ve třetím poli a já kouknul jen do prvního. Díky :-)


Správně pod třetím indexem pole :-))
Kcko
Profil
jok1955:
OK :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: