私は文字列操作が初めてで、リスト内の値を置き換えようとしています。
修正しようとしている 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;
}
ここで使用する必要がある別の機能はありますか?