久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      如何通過php正則去掉注釋

      php正則去掉注釋的實現(xiàn)方法:首先創(chuàng)建PHP示例文件;然后通過正則表達式“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), 通過寫一個正則表達式,來查找出所有的注釋行,并將其替換成空,即實現(xiàn)了需求。

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

      2. ctrl + R, 不輸入:

      3. 點擊后面的 Replace all

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

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

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

      2.ctrl + R, 不輸入

      3.點擊后面的 Replace all

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

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

      1.ctrl + F, 輸入正則表達式: sn

      2.ctrl + R, 不輸入

      3.點擊后面的 Replace all

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

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

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