Hej
Tworzę forum w ASP i mam takie 2 problemy.
Użytkownik może napisać post formatując go za pomocą edytora wysiwyg. Jak go sformatuje to otrzymuję tekst wraz z znacznikami html np.:
<br><br><p>Oto mój pierwszy post</p>
Taki tekst z informacją o formatowaniu przechowuję w bazie.
Problem 1)
Potem jak wyświetlam ten post w niektórych stronach, które mają określony styl css – powiedzmy ustawione, że znacznik
ma margines i padding 20px
Chciałbym aby obszar wyświetlanego postu na tej stronie nie był formatowany jak pozostała cześć strony, tylko tekst wyglądałby tak jakby niebyło ustawione formatowanie w ogóle ( domyślne wartości padding i margin)
Problem 2)
Czasami użytkownik kopiuje swój tekst z Worda lub jakiś innych miejsc, przez co dodawane są jakieś dziwne wordowskie lub inne znaczniki formatowania
Wygląda to tak w przypadku worda:
<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>PL</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/>
[…]
To tylko cześć bo tego jest baaaaaaaaardzo dużo. Jak widać jest to za komentowane dla HTML. Ale potem te wszystkie śmieci idą do bazy. Jak chcę wyświetlić skrót postu, np. pierwsze 200 znaków to pobierane są te niepożądane znaczniki po sam tekst jest gdzieś dalej…
Co gorsze, ucinany jest np koniec komentarza dlatego wyswietlane są te smieci bo nie jest to uznanwane za komentarz. Podobnie jest jak ktoś np otworzy znacznik
a po ucięciu nie będzie on zamknięty. Potem taki post może zepsuć całą stronę :-P
Rozwiązaniem problemu 2 było by w bazie przechowywane osobno samej treści skrótu ale to muszę 2 razy przechować cześć informacji
Czy są jakieś pomysły jak można poradzić sobie z tymi problemami?
Pozdrawiam serdecznie!