在Fluid Template和tx_news中,我需要用“\ n”替换换行符以传入JavaScript函数。替换换行符
如果JavaScript字符串包含换行符,则控制台将打印“意外标记”。
<a onclick="doSomething('{newsItem.bodytext}');">Click me</a>
如何在本例中用“\ n”代替换行符?
在Fluid Template和tx_news中,我需要用“\ n”替换换行符以传入JavaScript函数。替换换行符
如果JavaScript字符串包含换行符,则控制台将打印“意外标记”。
<a onclick="doSomething('{newsItem.bodytext}');">Click me</a>
如何在本例中用“\ n”代替换行符?
你可以写你自己的视图助手和使用它像这样:
{namespace ns=Vendor\ExtensionName\ViewHelpers}
<a onclick="doSomething('{newsItem.bodytext -> ns:viewhelperName()}');">Click me</a>
更多的相关信息在这里:Developing a custom ViewHelper
AS urbantrout已经写道:你可以用PHP编写一个自己的视图助手。
但你也可以使用的TypoScript-视图助手:
<a onclick="doSomething('{newsItem.bodytext -> f:cObject(typoscriptObjectPath: \'lib.nlReplace\')}');">Click me</a>
(因为你是在一个字符串,你需要躲避内“)
和一些Typo脚本像
lib.nlReplace = TEXT
lib.nlReplace {
current = 1
stdWrap.replacement {
1 {
search = #\n#
replace = \\n
useRegExp = 1
}
}
}
这里是一个较旧的教程http://stackoverflow.com/a/20503976/160968 – Urs