| | |
| Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
Autor | Správa |
---|
Registrovaný: 22.01.08 Prihlásený: 19.04.15 Príspevky: 492 Témy: 135 Bydlisko: Bratislava ... |
mam text kde je wordwrap na riadok 35 znakov priblizne s parametrom true a nech potom ked je vela spraví <br>\n takze toto funguje. no zrovna do toho textu využívam bbcode ale iba B, U, I a Font color/size co som si dorobil ako "nadstavbu". zial problemy sa začínajú pokial je text hrubým trebars. v normálnom prevedení to ustojí tych 35 znakov a pokračuje dole, no v hrubom to ide cez okraj...napadlo ma spravit lepsie divy(sirka a tak) Ale teraz je to zrovna akurat...no fakt nvm. tak co by ste radilI?[/code]
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
asi som nepochopil tebe to vlastne roztiahne .. no ak je to problém daj napr. 33 znakov ...
|
|
Registrovaný: 22.01.08 Prihlásený: 19.04.15 Príspevky: 492 Témy: 135 Bydlisko: Bratislava ... | Napísal autor témy B.A.X.O: 12.01.2009 19:12 | |
|
noo tak teraz to ten hruby text ustalo ale zas to neustalo tri tagy:D mi to pripada tak, ze prvy riadok zobere a druhy mi vyletel spoza divu...omg nechapem pouzivam toto:
Kód: $row['text'] = wordwrap($row['text'],34,"<br>\n",true);
ako je teda mozne ze to neakceptuje druhy riadok?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 12.01.2009 19:22 | |
|
B.A.X.O - len tak mimochodom, tu premennu $row['text'], pokial si spravne myslim, vytahujes z databazy. Nemyslim ze je dobre prepisovat obsah tejto premennej. Aj ked uskodit by to snad nemalo, radsej ten wordwrap()ovany text vkladaj do premennej trebars $text.
Inak tiez som nepochopil, ale jediny problem, co by tam mal teoreticky nastat, je, ze ti zalomi text uprostred tagu, tak ho nevezme, napr [/
b]. V takom pripade zahrn do preg_replace (alebo ako mas riesene BBCode) fakt, ze medzi jednotlivymi znakmi tagu moze byt "<br>\n". Cize cast toho regexpu by vyzerala asi takto "...\[(<br>\n)?b(<br>\n)?\]...". A BBCode men na html az po pouziti wordwrap().
|
|
Registrovaný: 22.01.08 Prihlásený: 19.04.15 Príspevky: 492 Témy: 135 Bydlisko: Bratislava ... | Napísal autor témy B.A.X.O: 13.01.2009 14:37 | |
|
na najlepsi opis problemu postaci tento obrazok je to vystrihnute, vsimnite si ze napr. ked je text velkym znakove rozdiely su ine a zalomi to kdesi v polovici stranky omg...neviem co s tym to iste pri bbcode rozdiely. ako toto riesit? tu je obrazok:
http://img80.imageshack.us/img80/8185/scrrc7.png
|
|
Registrovaný: 22.01.08 Prihlásený: 19.04.15 Príspevky: 492 Témy: 135 Bydlisko: Bratislava ... | Napísal autor témy B.A.X.O: 16.01.2009 20:54 | |
|
fakt nikto nevie poradit? ved ste sa s tymto uz museli stretnut v gb ci v kodeni vlastneho fora, a sami teda viete ze samotny wordwrap nestaci...dalej overflow je skaredy, clip nepouzitelny a font-family: monospace tiez tak co radite?
|
|
Registrovaný: 20.11.07 Prihlásený: 18.01.09 Príspevky: 2929 Témy: 116 | Napísal dadmtb: 16.01.2009 21:32 | |
|
pocuj alety davas vela znakov bez medzery teda ti nemože ani fungovat zalamovanie jedine ze bysi mal nastavene hard daj tam normal slova a zalamovat by sa to dalo ne?
|
|
Registrovaný: 22.01.08 Prihlásený: 19.04.15 Príspevky: 492 Témy: 135 Bydlisko: Bratislava ... | Napísal autor témy B.A.X.O: 16.01.2009 22:53 | |
|
no hej lenze takto podobne bude riesene miniforum alebo co to bude, a tam nejaky spammer pride a zacne tam toto pisat...to nebude moc dobre tomuto sa snazim vyhnut
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
mno, ani tu v phpbb to nie je vyriesene ako pozeram... v zasade by sa to dalo spravit tak, ze si cely text rozkuskujes a dlhym slovam pridas napr. do stredu medzeru, cize ked mas text:
Kód: Dnes bude [b]krasne slnecne pocasie[/b] s teplotami [i]-15 stupnov[/i] Tak po rozkuskovani ti vznikne pole Kód: Dnes bude [b] krasne slnecne pocasie [/b] s teplotami [i] -15 stupnov [/i]
Nasledne v kazdom prvku pola zistis, ci v nom existuje slovo obsahujuce viac znakov ako je maximalne dovoleny pocet. Ak ano a nie je to regularny bbcode, tak ho cez wordwrap rozdelis...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 22.01.08 Prihlásený: 19.04.15 Príspevky: 492 Témy: 135 Bydlisko: Bratislava ... | Napísal autor témy B.A.X.O: 17.01.2009 10:22 | |
|
TEEEE
edit: ups prepacte, len som chcel vediet ci to je v phpbb jak, no ako vidim tak
tu to je to same...kokos toto sa asi neda vyriesit
ale je to akoze troska blbost...lebo toto je sice "kozmeticky" detail ale
vadit to vadí a ked uz je phpbb teda tak bezpečné mohli by spravit nieco aj na toto...
//editovane (stenley)
|
|
Registrovaný: 22.01.08 Prihlásený: 19.04.15 Príspevky: 492 Témy: 135 Bydlisko: Bratislava ... | Napísal autor témy B.A.X.O: 17.01.2009 12:29 | |
|
takze da sa to riesit cez overflow: hidden ok
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
no tak jedna možnosť je po celom to prevedení, to prejsť explode a kontorlovať dĺžku slov ...
druhá možnosť by bolo fixne stanoviť dĺžku jedného riadka, teda po celom BB-kóde by si nastavil wordwrap na 30 znakov ... napr
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ak by to este niekto v buducnosti potreboval, tak som spravil jednu "malicku a velmi jednoduchu" funkciu Pouziva sa podobne ako wordwrap(), len berie do uvahy bbcode tagy, ktore nerozdeluje...
Hadam tam nie je ziadna chyba:
Kód: function wordwrap2($str,$maxLen,$break) { $arrBBCode = array("\[b\]","\[/b\]","\[i\]","\[/i\]","\[u\]","\[/u\]"); $arrStr = $arrIndexBBCode = array(); $rest = false; while(strlen($str)>0) { $start = $end = $tmpEnd = 0; $start = strpos($str,'[',$end); if($start!==false) { $end = strpos($str,']',$start); if($end!==false) { $tmpEnd = $end; if($start>0) { $arrStr[] = substr($str,0,$start); } $item = substr($str,$start,$end-$start+1); $isRegularBBCode = false; foreach($arrBBCode as $bbcode) { if(eregi("^".$bbcode."$",$item)) { $isRegularBBCode = true; $arrIndexBBCode[] = count($arrStr); break; } } if($isRegularBBCode || count($arrStr)==0) { $arrStr[] = $item; } else { $arrStr[count($arrStr)-1] .= $item; } $str = substr($str,$end+1); } else { $rest = true; } } else { $rest = true; } if($rest) { $arrStr[] = substr($str,$tmpEnd); break; } } foreach($arrStr as $i => $item) { if(!in_array($i,$arrIndexBBCode)) { $arrItem = explode(' ',$item); foreach($arrItem as $z => $word) { if(strlen($word)>$maxLen) { $arrItem[$z] = wordwrap($word,$maxLen,$break,true); } } $arrStr[$i] = implode(' ',$arrItem); } } return implode('',$arrStr); }
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
stenley: pridaj to do často používaných a užitočných scriptoch
|
|
| Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| wordwrap & bbcode (url) v PHP, ASP | 0 | 346 | 27.09.2010 19:43 DeiForm | | wordwrap + bbcode v PHP, ASP | 2 | 355 | 24.02.2010 18:20 B.A.X.O | | wordwrap odpocitavanie zozradu v PHP, ASP | 2 | 294 | 20.09.2012 17:46 Lier | | I/P: ASUS TUF Gaming F15 FX506LH-HN004 (i5 10300H & GTX 1650 & 16GB RAM & 512 GB SSD) v Informujem sa | 4 | 945 | 27.09.2022 15:15 michalesku | | Symbian & android & iOS & WinMobile [ Choď na stránku: 1, 2 ] v Smartfóny a tablety | 41 | 2834 | 15.12.2011 21:16 haffen | | bbcode v Redakčné systémy | 5 | 946 | 28.08.2009 16:50 nicram | | bbcode v PHP, ASP | 2 | 548 | 05.11.2008 18:18 Unlink | | BBCode v PHP, ASP | 2 | 659 | 02.12.2007 9:51 pepek92 | | BBcode nejde v JavaScript, VBScript, Ajax | 6 | 726 | 25.03.2008 13:23 Blackshadow | | BBcode help :) v PHP, ASP | 4 | 398 | 17.10.2011 15:17 Lkopo | | BBcode Edit v Redakčné systémy | 9 | 859 | 23.10.2006 13:48 PCMark | | P: War 3 RoCH & TFT, Diablo 2 & LOD v Predám | 1 | 839 | 17.05.2011 20:25 KocuR | | P: AMD Athlon II X3 455 AM3 & DDR3 8Gb & 4Gb v Predám | 6 | 784 | 14.12.2012 12:37 MilanYX | | Signature BBCode Controller v Redakčné systémy | 0 | 727 | 14.10.2006 15:11 JanoF | | Vyhladavanie v bbcode v PHP, ASP | 4 | 489 | 28.01.2008 9:16 stenley | | TinyMCE - BBcode plugin v Redakčné systémy | 2 | 900 | 03.07.2008 12:36 Blackshadow |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|