簡體   English   中英

使用JavaScript大寫每行的首字母

[英]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");

例如:

Console.log顯示示例

如果您只想在網頁上顯示。

這個怎么樣 :

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM