<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] # 字符串的處理介紹 ###### 字符串的處理方式 在C語言中字符串是作為字節數組處理的。在Java語言中字符串是作為對象處理的。而php則把字符串作為基本數據類型來處理。通常對字符串的處理涉及字符串的 *格式化* 。 字符串的 *分割* 和 *連接* 、字符串的 *比較* 、以及字符串的 *查找* 、*匹配* 和 *替換* 。 # 常用的字符串輸出函數 常用的輸出字符串函數: `echo( )` -- 輸出字符串 `print( )` -- 輸出一個字符串 `die( )` -- 輸出一條消息,并退出當前腳本 `printf( )` -- 輸出格式化字符串 `sprintf( )`-- 把格式化的字符串寫入一個變量中 如: ``` echo 'aaa','bbbb','ccc';//輸注多個值 $link=@mysql_connect(“”,””,””)or die(“失敗”) ``` ###### printf與sprintf `printf`與`sprintf`都是格式化字串: 字符串轉換格式: %% 返回百分比符號 %b 二進制數 %c 依照ASCII值的字符 %d 帶符號十進制數 %e 可續計數法(如1.5e3) %u 無符號十進制數 %f或%F 浮點數 %o 八進制數 %s 字符串 %x或%X 十六進制數 把文字格式化以后輸出,如: ``` $name="hunte"; $age=25; printf("my name is %s, age %d", $name, $age); ``` **說明**: * 可以在"%"和字母之間插進數字表示最大場寬。 ①例如: %3d 表示輸出3位整型數, 不夠3位右對齊。 ②%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為6, 小數點占一位, 不夠9位右對齊。 ③%8s 表示輸出8個字符的字符串, 不夠8個字符右對齊。 ④如果字符串的長度、或整型數位數超過說明的場寬, 將按其實際長度輸出。 ⑤浮點數, 若整數部分位數超過了說明的整數位寬度, 將按實際整數位輸出; ⑥小數部分位數超過了說明的小數位寬度, 則按說明的寬度以四舍五入輸出。 ⑦若想在輸出值前加一些0, 就應在場寬項前加個0。 例如: %04d 表示在輸出一個小于4位的數值時, 將在前面補0使其總寬度為4位。 ⑧如果用浮點數表示字符或整型量的輸出格式, 小數點后的數字代表最大寬度, 小數點前的數字代表最小寬度。 例如: %6.9s 表示顯示一個長度不小于6且不大于9的字符串。若大于9, 則第9個字符以后的內容將被刪除。 * 可以在"%"和字母之間加小寫字母l, 表示輸出的是長型數。 ①例如: %ld 表示輸出long整數 ②%lf 表示輸出double浮點數 * 可以控制輸出左對齊或右對齊, 即在"%"和字母之間加入一個"-" 號可說明輸出為左對齊, 否則為右對齊。 ①例如: %-7d 表示輸出7位整數左對齊 ②%-10s 表示輸出10個字符左對齊 * 一些特殊規定字符 ①\n 換行 ②\f 清屏并換頁 ③\r 回車 ④\t Tab符 ⑤\xhh 表示一個ASCII碼用16進表示, ⑥其中hh是1到2個16進制數 ? > sprintf函數跟printf相似,但不打印,而是返回格式化后的文字,其他的與printf一樣。 # 常用的字符串格式化函數 ###### 1. 去除空格和字符串填充補函數 * 函數:`ltrim( ) ` ``` 語法: string ltrim(string str[, string charlist] ); ``` 返回值: 字符串 本函數用來刪去字符串中的前導空格 (whitespace)。 * 函數:`rtrim( )` (還有個別名:chop() ``` 語法: string rtrim(string str[, string charlist] ); ``` 返回值: 字符串 本函數用來刪去字符串中的后綴空格 (whitespace)。 * 函數:`trim( )` 截去字符串首尾的空格。 ``` 語法: string trim(string str[, string charlist] ); ``` 返回值: 字符串 本函數返回字符串 string 首尾的空白字符去除后的字串。 * 函數:`str_pad()` 按需求對字符串進行填充。 ``` 語法:string str_pad ( string input, int pad_length [, string pad_string [, int pad_type]] ) ``` STR_PAD_LEFT 字符串左添補 STR_PAD_RIGHT 字符串右添補 STR_PAD_BOTH 字符串兩端添補 ``` <?php $input = "Alien"; echo str_pad($input, 10); // produces "Alien?????" echo str_pad($input, 10, "-=", STR_PAD_LEFT);?? // produces "-=-=-Alien" echo str_pad($input, 10, "_", STR_PAD_BOTH);?? // produces "__Alien___" echo str_pad($input, 6 , "___"); // produces "Alien_“ ?> ``` ###### 2. 字符串大小寫的轉換 * 函數: `strtolower( )` ``` 語法: string strtolower(string str); ``` 本函數將字符串 str 全部變小寫字符串。 * 函數: `strtoupper( )` ``` 語法: string strtoupper(string str); ``` 本函數將字符串 str 全部變大寫字符串。 * 函數:`ucfirst( )` 將字符串第一個字符改大寫。 ``` 語法: string ucfirst(string str); ``` 本函數返回字符串 str 第一個字的字首字母改成大寫。 * 函數:`ucwords( )` 將字符串每個字第一個字母改大寫。 ``` 語法: string ucwords(string str); ``` 本函數返回字符串 str 每個字的字首字母全都改成大寫。 ###### 3. 和HTML標簽相關聯的字符串格式化 * 函數:`nl2br( )` ``` 語法:string nl2br ( string string ) ``` 將字符串中”\n”轉成HTML換行符<br / > * 函數:`htmlspecialchars()` ``` 語法:string htmlspecialchars ( string string [, int quote_style [, string charset]] ) ``` * 函數: `htmlentities()` ``` 語法:string htmlentities ( string string [, int quote_style [, string charset]] ) ``` 可以將所有的非ASCII碼轉換成對應實體代碼。 ``` <?php $str = "A 'quote' is <b>bold</b>"; // Outputs: A 'quote' is <b>bold</b> echo htmlentities($str); // Outputs: A 'quote' is <b>bold</b> echo htmlentities($str, ENT_QUOTES); ?> ``` * 函數:`string strip_tags()` ``` 語法:string strip_tags ( string str [, string allowable_tags] ) ``` 刪除HTML的標簽函數 ``` <?php $text = '<p>Test paragraph.</p><!-- Comment --> Other text'; echo strip_tags($text); //Test paragraph. Other text // 保留 <p> echo strip_tags($text, '<p>'); //輸出:<p>Test paragraph.</p> Other text ?> ``` ###### 4. 其他字符串格式化函數 * 函數: `strrev( ) ` 顛倒字符串。將字符串前后顛倒。 ``` 語法: string strrev(string string); ``` * 函數: `strlen( ) ` 取得字符串長度。 ``` 語法: int strlen(string str); ``` 本函數返回指定的字符串長度。 * 函數:`number_format()` ``` 語法:string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] ) ``` 格式貨幣、數字、時間等。 * 函數:`md5()` 加密函數 ``` 格式:string md5 (string str [, bool raw_output] ) ``` # 字符串比較函數 PHP中,有多種方法可以對字符串進行比較,除了可以直接使用條件運算符(<, >, ==)加以比較外。 按字節進行字符串的比較 `strcmp()`;(整個比較是否相同) `strncmp()`;(指定比較長度的字符串比較) `strcasecmp()`; (不區分大小寫的全串比較) 按自然排序法時行字符串的比較 `strnatcmp(`); 字符串的模糊比較 `similar_text()`; (返回相似字符串的個數) # 字符串的分割與拼裝 * `explode`?--?使用一個字符串分割另一個字符串 ``` 語法:array explode ( string separator, string string [, int limit] ) ``` 此函數返回由字符串組成的數組,每個元素都是 string 的一個子串,它們被字符串 separator 作為邊界點分割出來。如果設置了 limit 參數,則返回的數組包含最多 limit 個元素,而最后那個元素將包含 string 的剩余部分。 例如: ``` $pizza??= "piece1 piece2 piece3"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 ``` * `implode()` 用一組較小的字符串創建一個大字符串。 ``` 格式:string implode ( string glue, array pieces ) ``` 第一個參數glue是放在第二個參數pieces的元素之間的字符串。可以像下面這樣重建簡單的逗號分隔的字符串。 例如: ``` $array = array('lastname','email','phone'); $comma_separated = implode(',', $array); echo $comma_separated; //lastname,email,phone ``` # 字符串的截取 * 函數:`substr( ) ` 取部份字符串。 ``` 語法: string substr(string string, int start, int [length]); ``` 返回值: 字符串 本函數將字符串 string 的第 start 位起的字符串取出 length 個字符,若省略參數 length,則取到字符串末尾 。若 start 為負數,則從字符串尾端往前開始提取。如果length為整數,表示返回length個字符,若為負數,則表示取到倒數第 length 個字符。 # 字符串的查找: * 函數: `strstr( )` 別名:`strchr( ) ` 返回字符串中某字符串開始處至結束的字符串。 ``` 語法: string strstr(string haystack, string needle); ``` 返回值: 字符串 本函數將 needle 最先出現在 haystack 處起至 haystack 結束的字符串返回。若找不到 needle 則返回 false。 * 函數: `strrchr()` 取得某字符最后出現的位置。 ``` 語法: string strrchr(string haystack, string needle); ``` 本函數用來尋找字符串 haystack 中的字符 needle 最后出現位置,并將此位置起至字符串 haystack 結束之間的字符串返回。若沒有找到 needle 則返回 false。 * 函數:`strpos() ` 尋找字符串中某字符最先出現的位置。默認從 0 開始。 ``` 語法: int strpos(string haystack, string needle, int [offset]); ``` 本函數用來尋找字符串 haystack 中的字符 needle 最先出現的位置。若找不到指定的字符,則返回 false 值。參數 offset 可省略,用來表示從 offset 開始找。 * 函數:`strrpos( ) ` 尋找字符串中某字符最后出現的位置。 ``` 語法: int strrpos(string haystack, char needle); ``` 返回值: 整數 本函數用來尋找字符串 haystack 中的字符 needle 最后出現的位置。若找不到指定的字符,則返回 false 值。 # 字符串的替換 `str_replace()` 字符串替換,三種替換方式 ``` str_replace(string $search, string $replace, string $str); str_replace(array $search, string $replace, string $str); str_replace(array $search, array $replace, string $str); ``` > Have a Try 1. 自定義一個函數:string getFileType(String $name); 求一個文件的后綴名 例如:調用時傳入一個文件名的字串如:”a.txt”,哪個返回結果為”.txt”; 2. 使用字串函數按要求輸出結果: a)將102這個數字分別以以二進制、八進制、十六進制輸出 b)將12.123乘以2后保留小數位兩位輸出。 c)將字串#1024*兩側的*號與#號去除后輸出。 d)將字串strtoupper傳化成大寫后倒敘輸出。 e)將字串<div class="bord02"></div>保持原樣輸出。 f)將10:20:30:40:50中:號換成,號 3. 做一個網站訪問的計數器。在網頁中輸出:網站訪問:1253次,而且每次刷新數量都加一。(提示:采用文本存放計數信息)。 4. 定義一個字串的大小寫轉換函數: (可參考:chr( )和ord( ))
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看