簡體   English   中英

使用PHP / jQuery從mysql中提取每個單詞的首字母大寫

[英]Capitalize first letter of each word pulled from mysql with PHP/jQuery

我已經將Names所有小寫字母存儲到mysql db中,但是我的用戶希望將網站上的首字母大寫。 但是我試圖找出一種方法,無論是服務器端(PHP)還是客戶端(jQuery),都無需更改數據庫中的任何內容? 這可能嗎?

碼:

$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error());
            echo '<select name="user" class="user">';
            while ($row = mysql_fetch_array($result)) {
                echo "<option value='".$row['user']."'>".$row['user']."</option>";
            }
            echo '</select>';

也有

ucwords($row['user']);

如果您想將所有單詞都大寫。

您也可以使用CSS來做到這一點:

#example {
  text-transform: capitalize;
}

PHP具有ucfirst函數。

echo "<option value='".$row['user']."'>".ucfirst($row['user'])."</option>";

通過僅更改option內部的值,而不是value屬性,可以確保將相同的值發送回服務器。 請注意,您也可以使用strtolower來確保字符串全部為小寫。

在PHP中,您可以使用函數UCfirst(str);。 為達到這個。

您也可以在SQL查詢中執行此操作-但不確定這是否是最佳方法。

SELECT CONCAT(UPPER(SUBSTRING(firstName, 1, 1)), 
LOWER(SUBSTRING(firstName FROM 2))) AS properFirstName

或者您可以通過CSS來做到這一點:

div.caps { text-transform: capitalize; } 

結果是:

這是一些文本。

您也可以使用MySQL來做到這一點:

SELECT CONCAT(UPPER(SUBSTR(user, 1, 1)), SUBSTR(user, 2)) FROM `users` ORDER BY user ASC

像這樣的東西

$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error());
echo '<select name="user" class="user">';
while ($row = mysql_fetch_array($result)) {
    $user = explode(" ", $row['user']);
    echo "<option value='".$row['user']."'>".ucfirst($user[0]).' '.ucfirst($user[1])."</option>";
}
echo '</select>';

請注意,在每個國家/地區,大寫字母和小寫字母之間的映射都不相同; 最著名的例子是土耳其,其中我<->İ和ı<-> I; 同樣,名字往往具有更復雜的大寫規則(例如“ MacDonald”,“ deVries”,“ von Hohenzollern”都是正確的姓氏)

我曾經在數據庫上運行過一次轉換,而未使用表示層。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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