[ ddz @ 16.08.2007. 21:17 ] @
Nije baš PHP, ali je srodna tematika...

Imam zadatak da gomilu teksta (15 brojeva časopisa, svaki po 300 strana) iz PDFa prebacim u wordpress. PDFovi su spremani za štampu, tako da uredno imaju line break na kraju svakog reda.

Svaki članak posebno prebacujem u editor (u mom slučaju Ultra Edit), i propuštam ga kroz dva makroa koja sam za ovu priliku sklepao: jedan za konverziju YUSCII->Unicode, i drugi koji preko regexpa prvo skloni sve crtice sa kraja reda, a onda ubija nepotrebne line-breakove:

Code:
^(.*[^.])\p


ili u prevodu: Spajamo sve redove koji nemaju tačku na kraju, u veseloj nadi da nećemo napraviti previše dodatnih pasusa.

Sve je sjajno radilo, sve dok nisam primetio da u delovima nekih članaka moraju da postoje linebreakovi, jer se radi o stihovima ili dijalozima. Izmenio sam malo string za pretragu, tako da spaja redove jedino ako imaju preko 50 karaktera:

Code:
^(.{50,}[^.])\p


ali UltraEdit uporno odbija da pronađe bilo šta sa ovim stringom. Sad sam se zaglupeo od previše pokušaja, i verovatno previđam očigledno - tu vi stupate na scenu :)
[ byM4k5 @ 29.08.2007. 02:41 ] @
Problem je u tome što UltraEdit ovo

Code:
{50,}


vidi kao literal. ;)