用户提交形式与<textarea name="mytext" cols="35" rows="2"></textarea>
并按压内它ENTER。我将如何用<br />
取代CR-LF?
回答
CF有这种所谓的使用ParagraphFormat()函数:
<cfset form.userText = paragraphFormat(form.usertext)/>
从帮助文档 -
替换字符串中的字符:
- 单换行符(CR/LF序列)与空格
- 带HTML段落标记的双换行符(
<p>
)
它可能会做更多比你想要的,因为它看起来也为双换行,并增加了<p>
和</p>
标签。
Ben还有一个名为paragraph2的增强版本(UDF),它很容易修改以获得所需的确切影响。这里的链接:
与BR代替它,而不是显示的值时,我会用ParagraphFormat功能。
<cfset localVars.ReturnString = REReplace(localVars.ReturnString, "\r\n|\n\r|\n|\r", "<br />", "all")>
你不应该打\n\r
自然,但如果它被谁忘记了正确的顺序一个开发插入它可能发生。
这是一个更广义的函数的一个子集,用于根据你在做什么替换行尾(EOL)字符(例如,必须以Windows/Linux格式,.ics文件,html,cfheaders等)
<cffunction name="ReplaceEOL" access="public" output="false" returntype="string" hint="Replaces EOL codes with other characters">
<cfargument name="String" required="true" type="string">
<cfargument name="ReplaceWith" required="true" type="string">
<cfreturn REReplace(Arguments.String, "\r\n|\n\r|\n|\r", Arguments.ReplaceWith, "all")>
</cffunction>
我刚刚修复了第一个示例并简化了代码,但意识到这实际上并不像预期的那样工作 - 在组合版本(最早的匹配在最现代的正则表达式中获胜)之前,单个的'r'和'\ n'匹配,所以需要将它们移动到交替的末尾 - 即。'\ r \ n | \ n \ r | \ n | \ r' - 我继续和固定的为好,但只是想,因为它是非常有用牢记指出来。 –
虽然我个人总是删除所有回车,然后只需要处理换行符,例如'String.replaceAll( '\ r', '')。的replaceAll( '\ n', '
')' –
你说得对。感谢编辑。 – nosilleg
您可以使用paragraphFormat()函数,但有时替换函数可以帮助您查看实际发生的情况。
一个例子:<cfset TheText=replace("#form.myText#",chr(13)&chr(10),"<br />","all")>
这将替换所有回车线与HTML换行符饲料
其实我更喜欢这样的事情:
<p>#REReplace(theParagraphText, "[#chr(10)#]+", "</p><p>", "ALL")#</p>
由于整合了多行闯入单段休息。
'[#chr(10)#] +'是写'\ N +'一个冗长的方式 - 但不管是,由于它不处理回车,这是不如由nosilleg给出的[现有答案](http://stackoverflow.com/questions/11330993/how-to-replace-crlf-with-br#11331321)。 –
- 1. Vertica new-line CR LF替换
- 2. 替换<br>
- 3. 用<br />替换\ n
- 4. 如何用<br/>替换\ r&n?
- 5. 如何替换` 和<br>和<br>`
- 6. golang:如何替换为“\ n”“<br>”
- 7. 用CR代替CR LF字符(windows)
- 8. 试图替换<br>,<BR>,<br />>>标签与<br/>
- 9. 使用SED改变<CR><LF>一个符号
- 10. 如何在HTML中使用JavaScript和jQuery替换“<br /><br />”与“<br />”?
- 11. 浮动元素<br /><br /><br /><br /><br /\><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
- 12. 替换多个<br>在javascript中替换为单个<br>?
- 13. jQuery替换\ n与<br> HTML不会渲染<br>
- 14. 用文本文件中的cr-lf替换lf Cygwin
- 15. Firefox和Chrome在POST期间用CR + LF替换LF
- 16. PostgreSQL在文本字段中使用Python替换LF + CR + LF pyodbc
- 17. 如何在SQL Server Management Studio的编辑器中搜索','并替换为','<CR><LF>
- 18. 使用preg_replace替换<br />
- 19. 用<br>替换新行字符
- 20. 用<br />替换\ r \ n
- 21. 用逗号替换<br/>在HTML
- 22. html/templates - 用<br>代替换行
- 23. Jquery用<br />替换\ n?
- 24. 更换<br>与<br />
- 25. 如何用<br>代替PHP
- 26. 如何用powershell替换反斜杠CR LF
- 27. 如何用一个<BR>替换多个换行符?
- 28. 替换<p></p>与<br />条件
- 29. Carriagereturn(CR)到LF + CR
- 30. PYSERIAL将LF转换为LF/CR
我觉得ParagraphFormat2在这种情况下可能会更好,因为它确实将单行换行转换为“
”(以及双段换行到HTML段落)。 –