I`d使用str_replace函數:
$phrase = 'tavern-o-fallon-new-york
cut-n-shoot-texas
cut-n-shoot-texas-at-o-fellon';
$phrase = str_replace(array('-n-','o-','-'),array('`N`','O`',' '), $phrase);
echo ucwords($phrase);
輸出:
Tavern O`fallon New York
Cut`N`shoot Texas
Cut`N`shoot Texas At O`fellon
編輯:
要解決的小寫字母:
$phrase = str_replace(array('-n-','o-','-'),array('`N` ','O` ',' '), $phrase); // add an extra space after the quote;
$phrase = ucwords($phrase); //then ucfirst can do the job
$phrase = str_replace('` ','`', $phrase); //remove the extra space
echo $phrase;
'S/- (。 ) -/\ 1' /'?這個將會在'建造一個熊' - >'建立一個'熊'上炸彈。 –
@MarcB謝謝...是的...可以工作,但說我有法國或意大利的城市,所以它實際上不是一個單一的字母? – Francesco
那麼你可能不希望正則表達式,或者至少,不是一個正則表達式。正則表達式適用於常規文本。如果你的輸入是不規則的,那麼你不能真正使用它們的REGULAR表達式。 –