Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie Kommentare aus einem regulären PHP-Ausdruck
So entfernen Sie reguläre Kommentare in PHP: 1. Erstellen Sie eine PHP-Beispieldatei und fügen Sie den Kommentarinhalt ein. 2. Entfernen Sie die Kommentare mit der Methode „highlight_string(removeComment(file_get_contents('./a.php')));“ .
Die Betriebsumgebung dieses Artikels: Windows7-System, PHP8-Version, DELL G3-Computer
Verwenden Sie reguläre Ausdrücke, um Kommentare im PHP-Code zu entfernen
Testcode
Datei: a.PHP
<?php /** * 加法计算 * 测试 */ // 设定$a的值 $a = 10; // 设定$b的值 $b = 5; // 加法 $c = $a + $b; # 输出结果 echo $c;
Datei : 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("/(\/\*.*\*\/)|(#.*?\n)|(\/\/.*?\n)/s", '', str_replace(array("\r\n", "\r"), "\n", $content)); }
Testausgabe
Führen Sie test.php aus, die Ausgabe lautet wie folgt:
Regelmäßige Analyse
(\/\*.*\*\/) 匹配 /* */ (#.*?\n) 匹配 # 遇到第一个回车后结束 (\/\/.*?\n) 匹配 // 遇到第一个回车后结束
Der Herausgeber dieser Website wird weiterhin Folgendes hinzufügen:
Mehrzeilige Kommentare
<?php $s = '/*aaaa sss */*/'; preg_match('@/\*.*?\*/@s', $s, $match); var_dump($match);
Laufende Ergebnisse
array(1) { [0]=> string(15) "/*aaaa sss */" }
Übereinstimmende einzeilige Kommentare
<?php $str = " a = b; //asdf //saf b = c; //asdf "; $reg = '@\s*//.*$@m'; $res = preg_replace($reg,'',$str); echo $res;
Ausgabe
a = b; b = c;
Eine weitere Lua-Version von
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
Ausgabe
/* xx */
/* y */
phpstorm Regulärer passender Kommentar Zeilen (ersetzt Kommentarzeilen mit Leerzeilen)
Die Verwendung von phpstorm zum Schreiben von PHP- und Javascript-Code fühlt sich gut an und ist angenehm zu verwenden.
Ich habe beim Lesen des Quellcodes eines Frameworks die Notwendigkeit festgestellt, die Kommentarzeilen im Quellcode manuell zu filtern (löschen), da dies nicht wissenschaftlich genug ist.
Natürlich habe ich an den leistungsstarken regulären Ausdruck (regulärer Ausdruck regExp) gedacht, mit dem wir alle Kommentarzeilen finden und durch leere ersetzen können, wodurch die Anforderung erfüllt wird.
1. Strg + F, geben Sie den regulären Ausdruck ein: (//.*$)|(/*(.|s)*?*/)
2. Strg + R, geben Sie nicht ein:
3. Klicken Sie auf „Später ersetzen“
, stellten jedoch fest, dass dies unseren Anforderungen nicht vollständig entsprach, sondern lediglich die Kommentarzeile durch eine Leerzeile ersetzte.
Also schreiben wir einen weiteren regulären Ausdruck, um leere Zeilen abzugleichen und zu löschen.
1.Strg + F, geben Sie den regulären Ausdruck ein: ^n
2.Strg + R, geben Sie nicht
3 ein, aber es wurde festgestellt, dass nicht alle Leerzeilen gelöscht wurden. (Es gibt noch einige Leerzeilen, die nicht gelöscht wurden)
Also fahren wir mit dem regulären Löschen von Übereinstimmungen fort.
1.Strg + F, geben Sie den regulären Ausdruck ein: sn
2.Strg + R, geben Sie nicht ein
3. Klicken Sie hinten auf „Alle ersetzen“.
Okay, hier löschen Sie alle Leerzeilen. Viel Spaß -:)
Eigentlich lassen sich diese drei Schritte in einem Schritt umsetzen, Sie können darüber nachdenken! [Empfohlenes Lernen: „
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonSo entfernen Sie Kommentare aus einem regulären PHP-Ausdruck. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!