欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          如何通過php正則去掉注釋

          php正則去掉注釋的實現(xiàn)方法:首先創(chuàng)建PHP示例文件;然后通過正則表達(dá)式“reg_replace("/(/*.**/)|(#.*?n)|(//.*?n)/s", '', str_replace((…))”實現(xiàn)去除即可。

          如何通過php正則去掉注釋

          推薦:《PHP視頻教程》

          測試代碼

          文件:a.PHP

          <?php
          /**
          * 加法計算
          * 測試
          */
          // 設(shè)定$a的值
          $a = 10;
          // 設(shè)定$b的值
          $b = 5;
          // 加法
          $c = $a + $b;
          # 輸出結(jié)果
          echo $c;

          文件:test.php

          echo "源碼:<br />";
          show_source('./a.php');
          echo "<hr />去除注釋后:<br />";
          highlight_string(removeComment(file_get_contents('./a.php')));

          /**
          * 去除PHP代碼注釋
          * @param string $content 代碼內(nèi)容
          * @return string 去除注釋之后的內(nèi)容
          */
          function removeComment($content){
          return preg_replace("/(/*.**/)|(#.*?n)|(//.*?n)/s", '', str_replace(array("rn", "r"), "n", $content));
          }

          測試輸出

          執(zhí)行test.php,輸出如下:

          如何通過php正則去掉注釋

          正則分析

          (/*.**/) 匹配 /* */
          (#.*?n) 匹配 # 遇到第一個回車后結(jié)束
          (//.*?n) 匹配 // 遇到第一個回車后結(jié)束

          繼續(xù)補充一下:

          多行注釋

          <?php 

          $s = '/*aaaa
          sss
          */*/';

          preg_match('@/*.*?*/@s', $s, $match);

          var_dump($match);

          運行結(jié)果

          array(1) {
          [0]=>
          string(15) "/*aaaa
          sss
          */"
          }

          匹配單行注釋

          <?php 
          $str = "
          a = b; //asdf //saf
          b = c; //asdf
          ";
          $reg = '@s*//.*$@m';

          $res = preg_replace($reg,'',$str);

          echo $res;

          輸出

          a = b; 
          b = c;

          再來一個lua版的

          local test = "int x; /* xx */ xx*/ int y; /* y */" 

          function string.gfind(test, patten)
          local i,j = 0,0;
          return function()
          i,j = string.find(test, patten, j+1)
          if(i == nil) then -- end find
          return nil
          end
          return string.sub(test, i, j)
          end
          end


          for v in string.gfind(test, "/%*.-%*/") do
          print(v)
          end

          輸出
          /* xx */
          /* y */

          phpstorm 正則匹配刪除注釋行(替換注釋行為空行)

          使用phpstorm 來編寫php 和javascript 代碼,感覺還是不錯的,用得也很舒服。

          遇到了一個需求,有時候在閱讀框架源代碼的時候 , 想過濾(刪除)掉源代碼中的注釋行,如果手動逐行刪除顯示不夠科學(xué)。

          當(dāng)然想到了強大的正則匹配(regExp regular expression), 通過寫一個正則表達(dá)式,來查找出所有的注釋行,并將其替換成空,即實現(xiàn)了需求。

          1. ctrl + F , 輸入正則表達(dá)式:(//.*$)|(/*(.|s)*?*/)

          2. ctrl + R, 不輸入:

          3. 點擊后面的 Replace all

          但發(fā)現(xiàn),這樣并沒有完全實現(xiàn)我們的需求,只是將注釋行替換成了空行。

          所以,下面我們再寫一個正則表達(dá)式, 將空行匹配出來,刪掉。

          1.ctrl + F, 輸入正則表達(dá)式: ^n

          2.ctrl + R, 不輸入

          3.點擊后面的 Replace all

          但發(fā)現(xiàn),還是并沒有全部刪掉空行。(還有一些空行沒刪掉)

          所以,我們繼續(xù)來一個正則匹配刪除。

          1.ctrl + F, 輸入正則表達(dá)式: sn

          2.ctrl + R, 不輸入

          3.點擊后面的 Replace all

          好的,到這里,所有的空行全部刪除。 開心一下 -:)

          其實,這三步應(yīng)該可以合成一步實現(xiàn)的,大家可以想一想!

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號