替换换行符

时间:2016-12-15 15:44:40

标签: typo3 fluid typo3-6.2.x

在Fluid Template和tx_news中,我需要用“\ n”替换换行符以传入JavaScript函数。

如果JavaScript字符串包含换行符,控制台将打印“Unexpected token。”

<a onclick="doSomething('{newsItem.bodytext}');">Click me</a>

如何在此示例中用“\ n”替换换行符?

2 个答案:

答案 0 :(得分:2)

您可以编写自己的ViewHelper并像这样使用它:

{namespace ns=Vendor\ExtensionName\ViewHelpers}

<a onclick="doSomething('{newsItem.bodytext -> ns:viewhelperName()}');">Click me</a>

此处有更多信息:Developing a custom ViewHelper

答案 1 :(得分:2)

AS urbantrout已写道:您可以在PHP中编写自己的viewhelper。

但你也可以使用TypoScript-Viewhelper:

<a onclick="doSomething('{newsItem.bodytext -> f:cObject(typoscriptObjectPath: \'lib.nlReplace\')}');">Click me</a>

(因为你是一个字符串,你需要逃避内部&#39;)
和一些TypoScript一样

lib.nlReplace = TEXT
lib.nlReplace {
    current = 1
    stdWrap.replacement {
        1 {
            search = #\n#
            replace = \\n
            useRegExp = 1
        }
    }
}