我需要执行一些php美化器,并将一些array()转换为许多PHP文件的[],但我不确定如何检测它们是否是确实是PHP,而不是HTML。
〜/斌/ findpurephpfiles
#!/usr/bin/env ruby
class Command
def initialize
while line = $stdin.gets do
content = File.read(line.strip)
begin
if content.scan('<?').size == 1
print line
end
rescue ArgumentError # invalid byte sequence in UTF-8
$stderr.print "err with file: #{line}"
end
end
end
end
Command.new
执行它:
find . -name *.php |wc -l
3898
find . -name *.php |findpurephpfiles |wc -l
err with file: ./public/plugins/tiny_mce/plugins/jbimages/is_allowed.php
3848
您是否相信这种情况'<?' appears only once
编辑:似乎工作正常,但由于PHP版本冲突(&lt; 5.4)
而在生产中产生了问题