这篇文章主要介绍了PHP字符串word末字符实现大小写互换的方法,是涉及PHP字符串转换非常实用的技巧,需要的朋友可以参考下
本文实例讲述了PHP字符串word末字符实现大小写互换的方法。分享给大家供大家参考。具体实现方法如下:
一、要求:
给出一个字符串如 “A journey of, a thousand 'miles' must can't \"begin\" with a single step.” ,通过 PHP 程序处理变成 “a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP.”
这里需要注意:
1、每个单词最后的字符如果是大写就变成小写,,如果是小写就变成大写。
2、需要考虑类似 can't 这种形式的转换。
3、标点符号(只考虑 , ' " . ;)不用变化。
二、参考算法如下:
复制代码 代码如下:
function convertLastChar($str) {
$markArr = array(", ", "' ", "\" ", ". ", "; ");
$ret = "";
for ($i = 0, $j = strlen($str); $i
if ($i
$afterStr = $str{$i + 1} . $str{$i + 2};
} else if ($i
$afterStr = $str{$i + 1} . " ";
}
if (in_array($afterStr, $markArr)
|| $i == $j - 1
|| $str{$i + 1} == " ") {
$ret .= strtoupper($str{$i}) === $str{$i}
? strtolower($str{$i})
: strtoupper($str{$i});
} else {
$ret .= $str{$i};
}
}
return $ret;
}
?>
测试代码如下:
复制代码 代码如下:
//test
$str1 = "A journey of, a thousand 'miles' must can't \"begin\" with a single step.";
$str2 = "A journey of, a thousand 'miles' must can't \"begin\" with a single step. ";
$str3 = "A journey of, a thousand 'miles' must can't \"begin\" with a single step. a ";
$str4 = "A journey of, a thousand 'miles' must can't \"begin\" with a single step. a B";
$str5 = "A journey of, a thousand 'miles' must can't \"begin\" with a single step. a b'";
$str6 = "A journey of, a thousand 'miles' must can't \"begin\" with a single step. a B\"";
echo "source:
" . $str1 . "
result:
" . convertLastChar($str1) . "
";
echo "source:
" . $str2 . "
result:
" . convertLastChar($str2) . "
";
echo "source:
" . $str3 . "
result:
" . convertLastChar($str3) . "
";
echo "source:
" . $str4 . "
result:
" . convertLastChar($str4) . "
";
echo "source:
" . $str5 . "
result:
" . convertLastChar($str5) . "
";
echo "source:
" . $str6 . "
result:
" . convertLastChar($str6) . "
";
?>
运行结果如下:
复制代码 代码如下:
source:
A journey of, a thousand 'miles' must can't "begin" with a single step.
result:
a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP.
source:
A journey of, a thousand 'miles' must can't "begin" with a single step.
result:
a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP.
source:
A journey of, a thousand 'miles' must can't "begin" with a single step. a
result:
a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP. A
source:
A journey of, a thousand 'miles' must can't "begin" with a single step. a B
result:
a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP. A b
source:
A journey of, a thousand 'miles' must can't "begin" with a single step. a b'
result:
a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP. A B'
source:
A journey of, a thousand 'miles' must can't "begin" with a single step. a B"
result:
a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A singlE steP. A b"
希望本文所述对大家的PHP程序设计有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.
