[英]Capitalize first letter of each line using JavaScript
我想知道如何像在此PHP代码中那样将JavaScript中一行的首字母大写:
<?php
$textParts = explode("\n", $text);
foreach ($textParts as $key => $value) {
$textParts[$key] = ucfirst($value);
}
$text = implode("\n", $textParts);
$text="namjaga da geureochi mwo narago dareugetni
ni mameul da gajyeodo naragabeorigo maneun
namjaga da geureochi mwo"
?>
<p>
<?php echo $text; ?>
</p>
在JS中,经过转换后,我将文本输入到“罗马” DIV中:
<div id="Roman"> </div>
<script>
<?php include("../../tools/js/romantool.js"); ?>
function affichar() {
document.getElementById('Roman').innerHTML = latin_to_roman(
document.getElementById('Parol').innerHTML
);
}
affichar();
</script>
有谁知道我应该如何像上一个PHP示例一样进行操作? 谢谢 !
您可以在换行符上分割文本,映射数组,以便每行都获得一个大写的首字母,然后与换行符连接:
text = text.split("\n").map(function(line) {
line = line[0].toUpperCase() + line.substr(1);
return line;
}).join("\n");
例如:
如果您只想在网页上显示。
这个怎么样 :
<style>
p.uppercase {
text-transform: capitalize;
}
</style>
<p>this is a paragraph</p>
如果要使用JS:
$("p").css({"text-transform":"capitalize"});
将输出:
This Is A Paragraph.
实际上,到目前为止,我会在两个建议的答案之间进行选择。 我会使用javascript用一个标记替换换行符,该标记将在文本周围添加结构,例如
var str = document.getElementById('Parol').innerHTML;
str = '<span>' + str.replace(/(?:\r\n|\r|\n)/g, '</span><span>') + '<span>';
document.getElementById('Roman').innerHTML = str;
而且,除了使用您想要使用CSS的任何方式设置样式外,您的情况是
span {
display: block;
}
span:first-letter {
text-transform: uppercase;
}
这是一个小提琴
http://jsfiddle.net/58qkwezk/1/
在文本中添加结构将有助于您更轻松地进行操作
String.prototype.capitalize = function () {
var sa = this.replace(/-/g, ' ');
var saa = sa.toLowerCase();
var sb = saa.replace(/(^|\s)([a-z])/g, function (m, p1, p2) {
return p1 + p2.toUpperCase();
});
var sc = sb.replace(/\s+/g, ' ');
return sc;
};
使用方式
'String'.capitalize();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.