2014-11-22 66 views
3

我想將輸入字符串轉換爲Title Case。將php字符串轉換爲標題Case

所以,如果我有一個輸入字符串

Name: MR. M.A.D KARIM 

我想產生下面的輸出字符串

Name: M.A.D Karim 

如果我有一個輸入字符串

Address: 12/A, ROOM NO-B 13 

我想生產

Address: 12/A, Room No-B 13 

我希望我的輸出字符串在任何空白字符以及任何以下字符後面都有大寫字母:.,-,/

我目前的解決方案是

ucwords(strtolower($string)); 

但之後.-/小寫字符離開,而我希望他們可以大寫。

回答

1

這應該爲你工作:

<?php 


    $str = "Name: MR. M.A.D KARIM"; 
    $result = ""; 

    $arr = array(); 
    $pattern = '/([;:,-.\/ X])/'; 
    $array = preg_split($pattern, $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); 

    foreach($array as $k => $v) 
     $result .= ucwords(strtolower($v)); 

    //$result = str_replace("Mr.", "", $result); ->If you don't want Mr. in a String 
    echo $result; 



?> 

輸入:

Name: MR. M.A.D KARIM 
Address: 12/A, ROOM NO-B 13 

輸出:

Name: M.A.D Karim 
Address: 12/A, Room No-B 13 
+1

很不錯的。謝謝。 – 2014-11-22 09:56:34

+0

@AtikKhan您的歡迎!祝你有美好的一天:D – Rizier123 2014-11-22 09:59:36