我在.php
制作了一个特定的脚本,可以找到某些代码的所有外观(在我的情况下是带有<script>
标签的javascript代码),并在实时服务器上替换为其他内容。
类似于grep -rnw '/path/to/somewhere/' -e "pattern"
。
我的问题是:如何在服务器上运行.php
脚本,该脚本将搜索该服务器上的所有文件以获取特定字符串,然后将其替换为其他字符串。
在我的桌面上,我已经对此进行了编码并且有效: `
<?php
$what = <<<EOD
<script>bla bla string</script>
EOD;
$with=" ";
$path_to_file = '/Users/Michael/Desktop/results-prod.txt';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace($what,$with,$file_contents);
file_put_contents($path_to_file,$file_contents);
?>
现在我需要一些实时服务器和所有文件(超过1个,所有使用不同路径)。
谢谢, 迈克尔!
答案 0 :(得分:2)
Private Function RunOtherChanges(ByVal str As String) As String
Dim pattern As String = "(if\(\w+!=nil\))\s*\1\s*{"
Dim replacement As String = "$1 {"
Dim rgx As New Regex(pattern)
Dim result As String = rgx.Replace(str, replacement)
Return result
End Function
答案 1 :(得分:1)
在linux中的命令提示符下,您可以这样做:
find /home/www -type f -print0 | xargs -0 sed -i 's/stringToReplace/replacementString/g'
更详细的
find /home/www -type f -print0 | xargs -0 sed -i s/'<script>[^)]*<\/script>'/'<script>Stuff To Replace With<\/script>'/g
请记住使用sed
,因为你正在使用正则表达式...你需要逃避某些字符......