Autor Zpráva
misso132
Profil
Potreboval by som nakopnúť ako spraviť skript, ktorý by mi text poslaný cez formulár spracoval do mysql tabuľky.
Text bude vyzerať takto:
ADNB       232811
BEKHTA, Pavlo - BRYN, Olesya - SEDLIAČIK, Ján - NOVÁK, Igor. Effect of different fire retardants on birch plywood properties. In Acta Facultatis Xylologiae, 2016, roč. 58, no. 1, s. 59-66. ISSN 1336-3824.

ADCA       235679
BEKHTA, Pavlo - MAMOŇOVÁ, Miroslava - SEDLIAČIK, Ján - NOVÁK, Igor. Anatomical study of short-term thermo-mechanically densified alder wood veneer with low moisture content. In European Journal of Wood and Wood Products, 2016, vol.74, p. 643-652. (1.081 - IF2015). (2016 - Current Contents, WOS). ISSN 0018-3768.

ADNB       236828
BEKHTA, Pavlo - SEDLIAČIK, Ján - SALDAN, Roman - NOVÁK, Igor. Effect of different hardeners for urea-formaldehyde resin on properties of birch plywood. In Acta Facultatis Xylologiae, 2016, roč. 58, no. 2, s. 65-72. ISSN 1336-3824.

ADCA       232456
EVGIN, Tuba - KOCA, Halil Dogacan - HORNY, Nicolas - TURGUT, Alpaslan - TAVMAN, Ismail Hakki - CHIRTOC, Mihai - OMASTOVÁ, Mária - NOVÁK, Igor. Effect of aspect ratio on thermal conductivity of high density polyethylene/multi-walled carbon nanotubes nanocomposites. In Composites. Part A.Applied science and manufacturing, 2016, vol. 82, p. 208-213. ISSN 1539-835X.

a potreboval by som z toho tabuľku
1 | ADNB | 232811 | BEKHTA, Pavlo - BRYN, Olesya - SEDLIAČIK, Ján - NOVÁK, Igor. Effect of different fire retardants on birch plywood properties. In Acta Facultatis Xylologiae, 2016, roč. 58, no. 1, s. 59-66. ISSN 1336-3824. | 2016 | ABC
2 | ADCA | 235679 | BEKHTA, Pavlo - MAMOŇOVÁ, Miroslava - SEDLIAČIK, Ján - NOVÁK, Igor. Anatomical study of short-term thermo-mechanically densified alder wood veneer with low moisture content. In European Journal of Wood and Wood Products, 2016, vol.74, p. 643-652. (1.081 - IF2015). (2016 - Current Contents, WOS). ISSN 0018-3768. | 2016 | ABD
atď

prvé je samozrejme id a tie posledné dva stĺpce | 2016 | ABD budem posielať zvlášť, to sú parametre zadané ručne.
ešte budem musieť dorobiť aj kontrolu duplicitného zapísania ale to už nebude problém...
neviem si poradiť len s tým rozdelením textu...
Vopred ďakujem za akékoľvek rady...

PS: tých záznamov bude dosť veľa a nebude efektívne to kopírovať ručne (takéto riešenie mi už napadlo :-D)
Tomášeek
Profil *
misso132:
To dělení textu, pokud je to tak, jak jsi zde uvedl, bude explode každého záznamu podle \n a první záznam pak explode podle tabulátoru, nebo té sady mezer mezi textem (zkratkou) a číslem.
misso132
Profil
podarilo sa mi vytvoriť takýto script:
<?php
$text=$_POST['text'];
$casti = explode("\n", $text);
$all = count($casti);
for ($i = 0; $i <= $all; $i++):
if((($i+1) % 3) == 1):
  $cast = $casti[$i];
  $cast = preg_replace('/\s+/', ' ',$cast);
  $casti2 = explode(" ", $cast);
  $jedna = $casti2[0];
  $dva = $casti2[1]; 
endif;
if((($i+1) % 3) == 2):
  $tri = $casti[$i];
endif;
 if(($i % 3) == 1):
  echo "1-".$jedna." 2-".$dva." 3-".$tri." 4-2016 5-ABD";    //toto pôjde do databázy
 endif;  
endfor;
?>
dá sa to nejak zjednodušiť?
Hando
Profil
Ahoj.
Á, někdo řeší problém s citacemi. :) Zpomalovače hoření? Pěkná tématika. :)

Doporučil bych ti toto: Unstructured Text Parser [PHP]. Nastavíš si template, podle kterého se to má rozsekat a následně ti to připraví pole, které pošleš na databázi. Ty citace mají celkem daný formát, takže by to měli fungovat docela přesně a spolehlivě. Nevynalézal bych znovu kolo. :)
misso132
Profil
Hando:
toto vyzerá naozaj super, ale to by som musel posielať po jednom, či sa mýlim? viem tam poslať veľa tých publikácií naraz? ako by potom vyzeral výstup? neviem to teraz otestovať, pretože nemám prístup k serveru... ešte raz ďakujem
Hando
Profil
No, než dělat nějakou dlouhou šablonu, tak bych ten seznam citací rozsekal na jednotlivé citace (jelikož je mezi každou citací volný řádek, tak by to neměl být problém), hodil je jako prvky pole a pak každý ten prvek prohnal tím parserem. A výstup do databáze, nebo multidimenzionální pole a pak zpracovávat dál, ale to je možná zbytečný, hádám, že nezakládáš další sci-finder. :)
Jeho kód se dá celkem lehce upravit, takže není potřeba ty soubory nikam ukládat...
Nepoužíváš třeba EndNote? Neumí ten nějaký rozumný export?
misso132
Profil
Hando:
nie, nezakladám nič nové :-D
len potrebujem dostať výstup z knižnice SAV na stránky nášho ústavu... a rozdeliť to podľa oddelení... a keďže delenie podľa oddelení knižnica nevie, musím vytvoriť vlastnú tabuľku, kde len uložím citácie... aby som nemusel každú vkladať ručne potreboval som rozdeliť ten export... ten Parser je super, ďakujem...

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: