JavaScript 替换 - 将 br 标签转换为新行
JavaScript Replace - Convert br Tags To New Lines
>我有一个看起来像这样的JavaScript函数:
function onAfterTranslate(item, translator) {
var thing = item.translated_text;
document.myform.keywords.value = "Translated Text:'r'n'r'n" + thing.replace(/<br>/g, "'r'n");
}
名为 item 的参数是一个对象,其中包含一个名为 translated_text
的属性。
这些是此变量的内容:
mono <br> toro <br> gato <br> perro <br> elefante
我想做的是将br
标签转换为换行符。(理想情况下,它应该在 br 标签之前和之后寻找可选空格,并且它还应该接受现有的任何有效格式的 br 标签,但这目前并不重要。
但是,上面代码中的替换命令不起作用,我无法弄清楚原因。
如果我删除 replace 命令,使该行以变量名称结尾,那么它的行为符合预期,使用正确的值更新表单中的 textarea 框。
即使我尝试用星号替换字母"o",它仍然不起作用,这表明我在这里做错了什么。
有什么建议吗?
您可以使用's
来查找空格,并?
"前面的字符可能出现一次"。正则表达式在下面。
/'s?(<br's?'/?>)'s?/g
下面是一个包含所有可能的 br 标签的示例:<br>
、<br />
和 <br/>
中间有一些空格。
var input = document.getElementById('input').value;
console.log(input);
document.getElementById('output').value = input.replace(/'s?(<br's?'/?>)'s?/g, "'r'n");
textarea {
width: 400px;
height: 100px;
}
<h3>input</h3>
<textarea id="input">
fooo <br> bar <br> lorum ipsum dolor.
valar durum <br /> kel alar fol <br /> durom <br />.
a bread of kebab is tasteful !<br/>
EOL
</textarea>
<hr />
<h3>output</h3>
<textarea id="output"></textarea>
试试
var text = "mono <br> totono <br> gato <br> elefante"
console.log( text.split( "<br>" ).join( "'n" ) );
以及用于修剪空白
text.split( "<br>" ).map( function(val){ return String(val).trim(); } ).join( "'n" );
用于将其放在文本区域中
document.body.innerHTML += "<textarea>" + text.split( "<br>" ).map( function(val){ return val.trim() } ).join( "'n" ) + "</textarea>" ;
因此,事实证明替换功能基本上没问题(但由于您的贡献,现在得到了增强) - 输入数据的格式不是我所期望的。
我以为变量item.translated_text是一个数组元素(因为当我将其回显到屏幕上时,我看到了我期望的值),但事实证明它实际上是一个数组,当我显示变量的长度时我发现它只有 1。
我现在怀疑项目变量是 JSON 构造,而不是我最初认为的常规数组。
对不起,如果我在这上面浪费了任何人的时间。
相关文章:
- 如何从rails中的代码中删除新行( )
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 如何在脚本上添加新行
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 字符串中的
标记未正确在 HTML 中创建新行 - JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 反应中的新行
- 阻止ReSharper将JavaScript函数参数放到新行中
- HTML表内容:如果行很长,如何在新行中显示部分内容
- dhtmlx添加新行并启动单元格编辑器
- 将新行打印到$mdToast
- 在新行(html)中动态添加更多文本字段
- 使用删除文本创建新行
- 如何在Google Geochart图表的工具提示文本中添加新行
- NodeJS Fork-每次子流程发送新行时都进行React
- JavaScript 替换 - 将 br 标签转换为新行
- 将新行转换为正确的Javascript值
- 将新行转换为段落/br HTML 标签,这可以是单个正则表达式吗?
- 将textareas的字符串值转换为以新行分隔的JavaScript数组
- 在php循环中编写javascript数组时,如何将新行转换为实际行