PHP字串如何實現word末字元實現大小寫互換
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、標點符號(只考慮 , ' " . ;)不用變化。
二、參考演算法如下:
程式碼如下:
<?php
function convertLastChar($str) {
$markArr = array(", ", "' ", "" ", ". ", "; ");
$ret = "";
for ($i = 0, $j = strlen($str); $i < $j; $i++) {
if ($i < $j - 2) {
$afterStr = $str{$i + 1} . $str{$i + 2};
} else if ($i < $j - 1) {
$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;
}
?>
測試程式碼如下:
程式碼如下:
<?php
//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:<br/>" . $str1 . "<br/>result:<br/>" . convertLastChar($str1) . "<br/><br/>";
echo "source:<br/>" . $str2 . "<br/>result:<br/>" . convertLastChar($str2) . "<br/><br/>";
echo "source:<br/>" . $str3 . "<br/>result:<br/>" . convertLastChar($str3) . "<br/><br/>";
echo "source:<br/>" . $str4 . "<br/>result:<br/>" . convertLastChar($str4) . "<br/><br/>";
echo "source:<br/>" . $str5 . "<br/>result:<br/>" . convertLastChar($str5) . "<br/><br/>";
echo "source:<br/>" . $str6 . "<br/>result:<br/>" . convertLastChar($str6) . "<br/><br/>";
?>
執行結果如下:
程式碼如下:
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時間和日期函式怎麼操作
php函式的多樣化和功能相近真是一大特點,同一個應用可以用多種函式實現,這恐怕也是開源的一個弊端了;通過對PHP時間函式的系統學習,充分理解了時間戳和時區的概念(這個真的很重要),有需要的小夥伴可以參考下。PHP中所有函式都是UNIX紀元的,即從1970年1月1日開始的。日...
-
PHP框架的概念
PHP框架為各種技術等級的開發者減少了重複編碼的需求、加快了開發程序,並在建立web應用時確保正確的編碼。下面是小編分享的PHP框架的概念,歡迎大家參考!PHP成為世界上最流行的指令碼語言有許多原因:靈活性,易用性等等。但通常只用PHP或者其他語言編碼就會顯得單調、...
-
對PHP語言認識上要避免10大誤區
PHP是一種非常流行的開源伺服器端指令碼語言,你在全球資訊網看到的大多數網站都是使用php開發的。但是,你大概很奇怪的注意到有少部分的人發誓要離php遠遠的。但是令人更奇怪的是或者很震驚的說他們不用php並不是因為一些被證實的語言缺點。他們決定不用php,是因為誤解...
-
php爬蟲程式中怎麼樣偽造ip地址防止被封
php爬蟲程式中怎麼樣偽造ip地址防止被封是很多程式設計師都關心的問題。下面是小編為大家帶來的'php爬蟲程式中怎麼樣偽造ip地址防止被封的知識,歡迎閱讀。程式碼:程式碼如下$ch=curl_init();curl_setopt($ch,CURLOPT_URL,"http://localhost/");curl_setopt($ch,CURLOPT...