Dali neko zna da rijesi problem dugackog teksta… treba mi perl/cgi kod da lomi texst na odredzen broj karaktera
(treba mi kod da rijesi ovaj problem… )
npr.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…
Ako ko zna nek mi se javi bicu mu od srca zahvalan
oxay@brcko.org
na koliko karaktera ti treba?
Probaj ovako:
@rijeci = split (/s/,$tekst);
foreach $rijec (@rijeci) {
while (length($rijec) > 50) { #recimo
print substr($rijec,0,50);
$rijec = substr($rijec,51);
}
print $rijec;
}
Hvala puno sacu da probam dali pase…
Prijatelju ovaj mi kod nepase najbolje… jeste da lomi na odredzen broj karaktera ali nepase mi…
Da ti objasnim treba mi neko rijesenje da prilikom citanej teksta iz baze $text da ubacuje svakog npr. 10 karaktera da ubacuje “-” i prebaci onaj ostali tekst u novi red.
npr.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-
Unaprijed zahvalan
oxay@brcko.org
prijatelju zahvaljujem ti se mnogo i pase mi ovaj kod
samo kad bi ovaj kod mogao da prekida samo odredzen broj
karaktera ako su zajedno bez razmaka ako su ti karakteri
sa razmakom da ih ne prekida jer ce se oni samo prebaciti
u drugi red…
Nadam se da si svadio na sta sam mislio…
npr.
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaa aaaaa aaaaaa aaaaa
aaa aaaa aaaaaa aaaaaaaa
Jos jednom hvala puno…
Vidim da je ovaj forum pobrisao jedan backslash ispred s, dakle:
@rijeci = split (/!s/, $tekst);
umjesto usklicnika ! stavi backslash
sto se tice crtice, ispravi 4. liniju u
print substr($rijec,0,50) . “-”;
za ono drugo, skripta i radi to tako da ne znam sta si htio
ovo radi dobro ali ne i najbolje…
kad bi moglo da prekida samo rijec
koja je duza od npr.50 karaktera ako
je manja od 50 i ima razmak izmedzu
rijeci da ne-prekida te karakrete…
(“aaaa aaaa aaaa aaaa” da ne-prekida
a “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa” da prekida)
npr.
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa aaaaa aaaaa aaaaaa aaaaa
aaaaaaaaaaaaaaaaaaaaaaa-
aaaaaaaaaaaaaaaaaaaaaaa-
valjda sam sad bio jasan…
Izvini jarane
stvarno sam rijetko na ovom forumu
tek sam sad vidio sta se desava
program radi tacno to sto si trazio
samo moras ispraviti onaj backslash
taj backslash+s znaci "space"
ako pise nesto drugo, onda program ne vidi da su rijeci odvojene space-om nego necim drugim
dakle popravi backslash i radice
Care hvala mnogo sto ipak navratis pa odgovoris… nija nisam na ovom forumu stalno naletim ponekad…
opet gore se nisam izjasno najbolje…
Care stavio sam backslash ali opet nesto nevalja \\\\\\\
sad rijeci sa razmakom brise izmedzu tih rijeci razmak pa tako bude opet sastavljena duga rijes… sa backslash
npr. aaaaa aaaaa aaaaaa cita bez razmaka aaaaaaaaaaaaaaaa
a dugu rijec aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
pise
aaaaaaaaaaaaa-
aaaaaaaaaaaaa-
aaaaaaaaaaaaa-
aaaaaaaaaaaaa-
evo kod valjda opet ne grijesim…
@komentar = split (/backslashs/,$komentar);
foreach $komentar (@komentar) {
while (length($komentar) > 55) {
print substr($komentar,0,55);
$komentar = substr($komentar,56) . “-”;
}
print $komentar;
}
neznam sta mi je ciniti titemi…
opet pogrijesi
@komentar = split (/backslashs/,$komentar);
foreach $komentar (@komentar) {
while (length($komentar) > 55) {
print substr($komentar,0,55) . “-”;
$komentar = substr($komentar,56);
}
print $komentar;
}
Ok, izvinjavam se.
Ispade vise stete nego koristi od mog odgovora
Trebas popraviti linije umjesto:
print $komentar = substr($komentar,56) . “-”;
stavi ovo:
print $komentar = substr($komentar,56) . "- ";
tj. dodaj jedan razmak iza crtice
a umjesto linije
print $komentar;
(to je predzadnja linija) stavi
print $komentar . " ";
jedan razmak treba biti izmedju navodnika
ok, pa ako ni to ne bude radilo - javi
Care radi ko zmaj…
HVALA PUNO…
jel ti hoces da iz baze uzmes neki tekst , da ga ucitas i da ako je rijec duza od 10(ili kolko vec hoces) slova da doda - da prenese u novi red a ako je space na kraju da samo prenese bez crtice? objasni sta pokusavas da uradis na konkretnom primjeru jer nemogu radit samo sa AAAAAAAAAAA posto je to sve jedan te isti karakter pa mi nije jasno sta pokusavas sa AAAAAA da ostvaris. I umjesto one rijeci “backslash gore” stavi /
Ma rijec je ocito o nekom forumu… stvarno ruzno izgleda kad neko napise ogromnu rijec i ona razvali cijelu stranicu i tabele itd. (kao npr. sto je na ovom forumu )
Pasha,
Evo male skriptice koja lomi stringove duze od 10 karaktera.
Probaj, pa javi ako sta treba promijenit’!
Code: |
|
Hadzija