- June 20, 2007
- filter linebreaks li
- 0 (after 0 ratings)
This template filter will split a string of text on newlines and return a string of <li></li>s with a newline before every line.
This is handy for taking a paragraph of text and making an <ol> or <ul> from its lines.
Don't forget to register your filter with the template library first or the filter won't work.
1 2 3 4 5 6 7 8
import re, string def linebreaksli(value): "Converts strings with newlines into <li></li>s" value = re.sub(r'\r\n|\r|\n', '\n', value) # normalize newlines lines = re.split('\n', value) lines = ['<li>%s</li>' % line for line in lines] return '\n'.join(lines)