我正在尝试使用<br/>
标记替换数据库中的换行符,并使用Perl编写以下mySQL查询字符串。
my $queryString = "Select REPLACE(r.form_text,'\n','<br /> '), ... FROM myTable r;"
出于某种原因,\n
被视为来自perl内的换行符,似乎不会将其替换为<br/>
。这是我在尝试打印$queryString
REPLACE(r.form_text,'
','< br /> ')
我尝试使用\\n
和\\\n
,但它也无效。如果这是一个重复的问题,我道歉。如果我在这里遗漏了什么,请告诉我。
答案 0 :(得分:0)
当然你得到换行符。当您使用双引号引用字符串时,内插中的任何内容都会被插值,\n
将成为文字换行符。如果你想要文字\n
,你需要防止插值。通常,你会使用单引号,但这是不切实际的,因为你已经在字符串中有那些。因此,请使用q()
功能。
my $queryString =
q|Select REPLACE(r.form_text,'\n','<br /> '), ... FROM myTable r;|;
请注意,您可以为q()
使用各种分隔符,在这种情况下,我使用了管道|
。如果您尝试打印此字符串,则应该有文字\n
。文档here。