1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      使用PHP怎么將駝峰樣式的字符串轉(zhuǎn)換成下劃線樣式的字符串-創(chuàng)新互聯(lián)

      這篇文章主要介紹了使用PHP怎么將駝峰樣式的字符串轉(zhuǎn)換成下劃線樣式的字符串,創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編覺得不錯(cuò),現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編來看看吧!

      創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的惠城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

      php有什么用

      php是一個(gè)嵌套的縮寫名稱,是英文超級(jí)文本預(yù)處理語(yǔ)言,它的語(yǔ)法混合了C、Java、Perl以及php自創(chuàng)新的語(yǔ)法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因?yàn)閜hp是開源的,從而使得php經(jīng)久不衰。

      1、如何在php中把駝峰樣式的字符串轉(zhuǎn)換成下劃線樣式的字符串。例:輸入是FooBar的話,輸出則是foo_bar


      以下是用正則的方式去完成,既然用到正則,方法肯定就不只一種,我們看下下面的方式

      echo strtolower(preg_replace('/(?<=[a-z])([A-Z])/', '_$1', 'fooBar'));
      //output:foo_bar
      echo "
      "; echo strtolower(preg_replace('/(?<=[a-z])([A-Z])/', '_$1', 'foo')); //output:foo echo "
      "; echo strtolower(preg_replace('/(?<=[a-z])([A-Z])/', '_$1', 'fooBarB')); //output:foo_bar_b echo "
      ";

      下面我們來解釋下,上面正則的意思。具體正則的基本知識(shí),這里篇幅有限就不具體介紹了,文章末尾會(huì)附帶幾篇總結(jié)的比較好的正則表達(dá)式的文章。

      上面的正則里面主要用到了正則表達(dá)式中的環(huán)視邊界匹配的語(yǔ)法。具體定義如下(摘抄):

      環(huán)視的字面意思就是左右看看,需要左右符合一些條件,本質(zhì)上,它也是匹配邊界,對(duì)邊界有一些要求,這個(gè)要求是針對(duì)左邊或右邊的字符串的,根據(jù)要求不同,分為四種環(huán)視:

      肯定順序環(huán)視,語(yǔ)法是(?=...),要求右邊的字符串匹配指定的表達(dá)式,比如表達(dá)式abc(?=def),(?=def)在字符c右面,即匹配c右面的邊界,對(duì)這個(gè)邊界的要求是,它的右邊有def,比如abcdef,如果沒有,比如abcd,則不匹配;

      否定順序環(huán)視,語(yǔ)法是(?!...),要求右邊的字符串不能匹配指定的表達(dá)式,比如表達(dá)式s(?!ing),匹配一般的s,但不匹配后面有ing的s;

      肯定逆序環(huán)視,語(yǔ)法是(?<=...),要求左邊的字符串匹配指定的表達(dá)式,比如表達(dá)式(?<=\s)abc,(?<=\s)在字符a左邊,即匹配a左邊的邊界,對(duì)這個(gè)邊界的要求是,它的左邊必須是空白字符;

      否定逆序環(huán)視,語(yǔ)法是(?

      可以看出,環(huán)視也使用括號(hào)(),不過,它不是分組,不占用分組編號(hào)。

      繼續(xù)回到我們上面的正則表達(dá)式,第一個(gè)小括號(hào)(?<=[a-z]),這是肯定逆序環(huán)視的語(yǔ)法,要求匹配的字符串的左邊必須有小寫的字母。第二個(gè)小括號(hào)則是一個(gè)分組,匹配大寫的字母,注意正則中的分組編號(hào)是從1開始的,這和我們傳統(tǒng)編程下標(biāo)一般是從0開始不同。而第一個(gè)小括號(hào)本身就是語(yǔ)法,其不占用分組編號(hào),所以后面的$1,則是匹配的第二個(gè)小括號(hào)中的內(nèi)容,并將其前面添加一個(gè)_符號(hào),最后再整體將整個(gè)字符串轉(zhuǎn)換成小寫。

      既然我們已經(jīng)能把駝峰法轉(zhuǎn)為下劃線的樣式了,如果反過來又該怎辦呢?

      2、如何在php中把下劃線樣式的字符串轉(zhuǎn)換成駝峰樣式的字符串。例:輸入是foo_bar的話,輸出則是FooBar

      $str = preg_replace_callback('/_+([a-z])/',function($matches){
        print_r($matches); //Array ( [0] => _b [1] => b )
        return strtoupper($matches[1]);
      },'foo_bar');
      echo $str; //fooBar
      echo "
      "; $str = preg_replace_callback('/_+([a-z])/',function($matches){   return strtoupper($matches[1]); },'foo'); echo $str; //foo echo "
      "; $str = preg_replace_callback('/_+([a-z])/',function($matches){   return strtoupper($matches[1]); },'foo_bar_b'); echo $str; //fooBarB echo "
      ";

      這里我們用到了preg_replace_callback函數(shù),該函數(shù)執(zhí)行一個(gè)正則表達(dá)式搜索并且使用一個(gè)回調(diào)進(jìn)行替換。換言之,就是第一個(gè)參數(shù)是正則表達(dá)式,第二個(gè)參數(shù)是一個(gè)匹配到結(jié)果的回調(diào)函數(shù),第三個(gè)參數(shù)是需要匹配的字符串。注意,回調(diào)函數(shù)具體什么時(shí)候調(diào)用,是每次匹配到結(jié)果則調(diào)用,調(diào)用次數(shù)不只為一次,匹配不到則不調(diào)用。并且該回調(diào)函數(shù)的參數(shù)是匹配的結(jié)果,是完整的匹配,matches[0]是完整的匹配,matches[1]是第一個(gè)捕獲子組的匹配,以此類推。且回調(diào)函數(shù)需要把更改的結(jié)果return出去,不然則忽略捕獲的字符串

      以上就是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編為大家收集整理的使用PHP怎么將駝峰樣式的字符串轉(zhuǎn)換成下劃線樣式的字符串,如何覺得創(chuàng)新互聯(lián)建站的內(nèi)容還不錯(cuò),歡迎將創(chuàng)新互聯(lián)建站推薦給身邊好友。


      本文名稱:使用PHP怎么將駝峰樣式的字符串轉(zhuǎn)換成下劃線樣式的字符串-創(chuàng)新互聯(lián)
      文章起源:http://ef60e0e.cn/article/csjgjg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        灵川县| 阳春市| 尼木县| 阿勒泰市| 岱山县| 镶黄旗| 文水县| 册亨县| 高邑县| 崇信县| 宜川县| 佛坪县| 理塘县| 沂南县| 宁远县| 盐城市| 乌兰浩特市| 哈密市| 万宁市| 洮南市| 江山市| 上虞市| 博野县| 曲麻莱县| 泸西县| 石景山区| 阿坝| 周口市| 光山县| 黔西| 大丰市| 澄迈县| 曲周县| 达州市| 长顺县| 金沙县| 高密市| 宁国市| 会泽县| 邹城市| 通道|