【发布时间】:2016-11-11 22:45:57
【问题描述】:
我想在 React-Native 应用程序中使用纯 JavaScript 将特定 HTML 标记的内容大写。
注意:这是一个 React-Native 应用程序。没有可用的 JS document,也没有 jQuery。同样,不能使用 CSS text-transform: uppercase,因为它不会显示在网络浏览器中。
假设有以下 HTML 文本:
<p>This is an <mytag>simple Example</mytag></p>
标签<mytag>的内容需转为大写:
<p>This is an <mytag>SIMPLE EXAMPLE</mytag></p>
我试过这段代码:
let regEx = storyText.match(/<mytag>(.*?)<\/mytag>/g)
if(regEx) storyText = regEx.map(function(val){
return val.toUpperCase();
});
但map() 函数只返回匹配的内容,而不是带有<mytag> 转换部分的整个字符串变量。
此外,如果未找到标记,match() 方法将返回 null。所以像storyText.match().doSomething 这样流畅的编程风格是不可能的。
由于要转换的标签更多,因此我可以将变量传递给正则表达式模式的方法将不胜感激。
有什么提示可以解决这个问题吗?
(此代码在带有 react-native-html-view Plugin 的 React-Native-App 中使用,它不支持开箱即用的 text-transform。)
【问题讨论】:
-
"transform content between Html-Tags to upperCacse" , "但是map-function只返回匹配的内容而不是整个字符串变量和转换后的部分." 原始问题似乎需要将
mytag的内容设置为大写,而不是标签和内容? -
是否需要将
<mytag>和<mytag>文本内容设置为大写?您可以在问题中包含预期结果的文本吗? -
react-native-html-view似乎包含一个复杂的 HTML 解析器。没办法,你能上钩吗?
标签: javascript html react-native ecmascript-6 ecmascript-5