0

我正在尝试用<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它也没有工作。如果这是一个重复的问题,我深表歉意。如果我在这里遗漏了什么,请告诉我。

4

1 回答 1

0

当然你会得到一个换行符。当您使用双引号引用字符串时,其中的任何内容都会被插入,并\n成为文字换行符。如果你想要一个文字\n,你需要防止插值。通常,您会使用单引号,但这是不切实际的,因为您已经在字符串中包含了单引号。因此,请使用该q()功能。

my $queryString = 
    q|Select REPLACE(r.form_text,'\n','<br /> '), ... FROM myTable r;|;

请注意,您可以为 使用多种分隔符q(),在本例中,我使用了 pipe |。如果您尝试打印此字符串,它应该有一个文字\n. 文档在这里

于 2012-05-01T15:34:11.617 回答