2010-03-04 6 views
1

Donc, il y a quelques paragraphes séparés par interlignes « \ r \ n » dans une zone de texte, disentConvertir le texte textarea en HTML valide

Paragraph1 "\r\n" 
Paragraph2 "\r\n" 
Paragraph3 "\r\n" 

ce que je veux atteindre est de traiter chaque paragraphe en

marque. Comment tu fais ça? (Besoin d'une solution côté serveur) il ressemble

<p> Paragraph 1 </p> 
<p> Paragraph 2 </p> 
<p> Paragraph 3 </p> 

En plus de la complexité, si vous avez un blockquote il

Paragraph1 "\r\n" 
<blockquote> "\r\n" 
test 
</blockquote> "\r\n" 
Paragraph2 "\r\n" 
Paragraph3 "\r\n" 

devrait sortir pour ressembler

<p> Paragraph 1 </p> 
<blockquote> 
<p>test</p> 
</blockquote> 
<p> Paragraph 2 </p> 
<p> Paragraph 3 </p> 

Merci beaucoup

ps: Je vois que stackoverflow fait du bon boulot là-dessus.

Répondre

-1

Vous ne créez pas de paragraphes avec "\r\n", vous créez des sauts de ligne. Si vous voulez des paragraphes, utilisez un WYSIWYG editor.

+0

De nombreux sites, y compris celui-ci, transforment intelligemment les sauts de ligne en paragraphes. WYSIWYG éditeurs sur le Web peuvent être plus de problèmes que ce qu'ils valent aussi, le HTML est souvent horrible, entre autres choses. Ce n'est pas une réponse utile. – ceejayoz

+0

Oh, ça fait aussi des BLOCKQUOTES? –

+0

désolé, je ne l'ai pas précisé. Oui, ce que j'essaie de faire est de lire un morceau de texte soumis à travers une zone de texte, de regarder les sauts de ligne et de convertir l'utilisateur "paragraphes" en "paragraphes" html à des fins d'affichage. Comme @ceejayoz mentioend, je ne veux pas entrer dans l'éditeur WYSIWYG car je ne veux pas traiter des choses superflues. Juste quelques cas simples. Remerciements – Liming

2

Peut-être que c'est un peu exagéré pour ce que vous voulez faire, mais Stackoverflow utilise Markdown. Il y a au moins un convertisseur ASP.NET disponible: Markdown.NET

+0

@Pekka. Merci. On dirait beaucoup à lire dans MarkDown.NET, mais au moins c'est un début et voir ce que je peux en sortir. Pensé, je sautais quelqu'un avoir quelques expressions régulières simples à cet effet. Sûrement, quelqu'un a dû le faire. Tout le monde remplace-t-il simplement les sauts de ligne par des balises "
" et en a-t-il terminé? Conversion pas si valide. – Liming

+0

@Liming Je suis sûr qu'il existe des approches plus simples, mais je ne suis pas un homme .NET donc je ne sais pas quelles solutions sont disponibles. Ce n'est pas entièrement trivial, cependant, remarquez. Vous auriez à traiter beaucoup de cas de bord (espaces, indentations .....) pour que ce travail fonctionne de manière fiable. –