php去注釋
去除代碼中的空白和注釋
function strip_whitespace($content) {
$stripStr = '';
//分析php源碼
$tokens = token_get_all($content);
$last_space = false;
for ($i = 0, $j = count($tokens); $i < $j; $i++) {
if (is_string($tokens[$i])) {
$last_space = false;
$stripStr .= $tokens[$i];
} else {
switch ($tokens[$i][0]) {
//過濾各種注釋
case T_COMMENT:
case T_DOC_COMMENT:
break;
//過濾空格
case T_WHITESPACE:
if (!$last_space) {
$stripStr .= ' ';
$last_space = true;
}
break;
case T_START_HEREDOC:
$stripStr .="<<break;
case T_END_HEREDOC:
$stripStr .="THINK;n";
for($k = $i+1; $k < $j; $k++) {
if(is_string($tokens[$k]) && $tokens[$k] == ';') {
$i = $k;
break;
} else if($tokens[$k][0] == T_CLOSE_TAG) {
break;
}
}
break;
default:
$last_space = false;
$stripStr .= $tokens[$i][1];
}
}
}
return $stripStr;
}
$php_code=file_get_contents('oop.php');
echo strip_whitespace($php_code);
② 頁面上的代碼怎麼注釋掉php
PHP代碼來添加註釋的幾種格自式:
1、用 // 開頭,作為單行注釋。例如:
<?php
//Author:mole
//Date:2012-2-8
echo"Welcome!";
?>
2、用 # 開頭,作為單行注釋。例如:
<?php
#Author:mole
#Date:2012-2-8
echo"Welcome!";
?>
3、以 /* 開頭,以 * / 結束的多行注釋。例如:
<?php
/*
下面是計算員工平均
工資的函數
*/
calculate();
?>
註:上面*和/之間是沒有空格的!
③ PHP程序求注釋,比較簡單
window.location.href是跳轉的意思,後面是跳轉的地址
<?php
$_SERVER ['PHP_SELF'];
?> 這一段 獲取 當前一個是腳本文件的絕對路徑,例如:當回前地址是答:http://www..com/index.php
那麼:
$_SERVER['PHP_SELF']=='/index.php'
④ 求批量去除PHP注釋的工具
reamweaver 用正則查找替換就可以了--------定義站點,在整個站點的代碼查找替換-就可以了!
⑤ 去除PHP代碼中的空白和注釋
PHP內置了一個php_strip_whitespace方法用於讀取php文件並去除代碼中的空白和注釋,但不支持直接讀取內容去除空白和注釋,下面的方法則可以支持讀取字元串內容,並且ThinkPHP框架內置了該方法。
/**
*
去除代碼中的空白和注釋
*
@param
string
$content
代碼內容
*
@return
string
*/
function
strip_whitespace($content)
{
$stripStr
=
'';
//分析php源碼
$tokens
=
token_get_all($content);
$last_space
=
false;
for
($i
=
0,
$j
=
count($tokens);
$i
<
$j;
$i++)
{
if
(is_string($tokens[$i]))
{
$last_space
=
false;
$stripStr
.=
$tokens[$i];
}
else
{
switch
($tokens[$i][0])
{
//過濾各種PHP注釋
case
T_COMMENT:
case
T_DOC_COMMENT:
break;
//過濾空格
case
T_WHITESPACE:
if
(!$last_space)
{
$stripStr
.=
'
';
$last_space
=
true;
}
break;
case
T_START_HEREDOC:
$stripStr
.=
"<<
break;
case
T_END_HEREDOC:
$stripStr
.=
"THINK;n";
for($k
=
$i+1;
$k
<
$j;
$k++)
{
if(is_string($tokens[$k])
&&
$tokens[$k]
==
';')
{
$i
=
$k;
break;
}
else
if($tokens[$k][0]
==
T_CLOSE_TAG)
{
break;
}
}
break;
default:
$last_space
=
false;
$stripStr
.=
$tokens[$i][1];
}
}
}
return
$stripStr;
}
⑥ 如何去掉php源碼中的注釋語句
如果沒有IDE的話,那隻能手動了
如果有IDE的話,選中要去掉注釋的語句,然後去掉注釋,默認的快捷鍵是
如果注釋方式為// , 快捷鍵 Ctrl+/
如果注釋方式為/* */ ,快捷鍵 Ctrl+Shift+/
⑦ php中如何給類規范的注釋
需要准備的材料分別是:電腦、phpstrom編輯器。
1、首先,打開phpstrom編輯器,新建php文件,例如:index.php,定義一個函數示例。
⑧ 如何批量去掉php文件中的雙斜杠注釋
如果你是在DW中編輯的話
在左邊的位置上,就有刪除注釋這樣的功能,找找看
如果你是用記事本
可以用替換功能
查找字元為//
替換字元為空
⑨ 使用正則去除php代碼中的注釋方法
測試代碼
文件:a.PHP
<?php
/**
*
加法計算
*
測試
*/
//
設定$a的值
$a
=
10;
//
設定$b的值
$b
=
5;
//
加法
$c
=
$a
+
$b;
#
輸出結果
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
代碼內容
*
@return
string
去除注釋之後的內容
*/
function
removeComment($content){
return
preg_replace("/(/*.**/)|(#.*?
)|(//.*?
)/s",
'',
str_replace(array("
",
"
"),
"
",
$content));
}
測試輸出
執行test.php,輸出如下:
正則分析
(/*.**/)
匹配
/*
*/
(#.*?
)
匹配
#
遇到第一個回車後結束
(//.*?
)
匹配
//
遇到第一個回車後結束
以上就是小編為大家帶來的使用正則去除php代碼中的注釋方法全部內容了,希望大家多多支持腳本之家~
⑩ php使用正則表達式去掉html中的注釋方法
最近在項目中在需要輸出瀏覽器中的源文件需要去掉html中的注釋,在網上看了很多的方案,不過很多的答案都是一樣的,並不能解決我的問題,於是就自己寫正則表達式,也對正則有了更加深刻的理解。
首先比較基礎的是:
$a
=
'<!--ceshi-->ceshi';
$a
=
preg_replace('#<!--.*-->#'
,
''
,
$a);
var_mp($a);
上面的代碼會輸出ceshi。
但是如果是下面的字元串的話,就不能達到我們希望的效果了
$a
=
'<!--ceshi-->ceshi<!--ceshi-->';
$a
=
preg_replace('#<!--.*-->#'
,
''
,
$a);
var_mp($a);
於是我們就把匹配規則改成如下的格式
preg_replace('#<!--.*?-->#'
,
''
,
$a);
但是在html中如果有<!--[if
lt
IE
9]>ceshi<![endif]-->這樣的代碼的話是不能去掉的,所以我們需要改進匹配規則,改成以下的格式
preg_replace('#<!--[^\!\[]*?-->#'
,
''
,
$a);
又接著如果html中有<script><!--ceshi//--></script>的代碼,我們又需要改一下我們的匹配規則了,改成了以下格式
preg_replace('#<!--[^\!\[]*?(?<!\/\/)-->#'
,
''
,
$a);
這樣的話我基本上就去掉了我需要去掉的html的注釋了!
以上就是小編為大家帶來的php使用正則表達式去掉html中的注釋方法全部內容了,希望大家多多支持腳本之家~