私は文字列操作が初めてで、リスト内の値を置き換えようとしています。
修正しようとしている 2 つの入力はMCAFEEとですPORT O'BRIAN。
だから私は走りucwords(strtolower($rawTitle))ます。しかし今、私はMcafeeとPort O'brianを表示する必要があるときにMcAfeeとを持っていPort O'Brianます。
最初に焦点を当てるとPort O'brian、これは私の試みですが、文字列の3番目の文字が大文字になり、3番目に一致した文字が大文字になるため、明らかに機能しません:(
$oPattern = "/O\'[a-z]/"; //Pattern to match
$doesMatch = preg_match($oPattern, $output, $matches); //Do I need to the perform operation?
if ($doesMatch == 1) {
    $letters = str_split($output);//break it out into an array
    $cappedLetter = strtoupper($letters[2]);//capitalize the 3rd letter
    $output = preg_replace("/O'$letters[2]/", $output, "O'$cappedLetter");//replace the O'x with O'X
    return $output;
}
ここで使用する必要がある別の機能はありますか?