我正在尝试查找字符串的所有实例并替换它们,原始字符串如下所示:
<li><a href="#" onclick="alert('soon!');">Some Text Here</a></li>
替换看起来像这样:
<li><a href="<?php print $somevar;?>/some.php">Something new</a></li>
在CLI中执行此操作的好方法
由于
答案 0 :(得分:0)
我认为sed命令可以很好地完成工作,前提是您的onclick处理程序和“Some Text Here”不包含任何嵌套的HTML标记,正则表达式可能会混淆替换字符串的结束标记
答案 1 :(得分:0)
在HTML中搜索和替换是一个有保障的问题。在某些时候,有人会通过你格式错误的HTML,即使是最精心设计的正则表达式也会失败。
我肯定会在最高抽象级别使用HTML,最好是使用DOM或SAX的本土工具。
快速修复
答案 2 :(得分:0)
在linux命令行中搜索和替换的标准方法是sed,例如:
sed -i yourfilename -e“s%textyouwantoreplace%newtext%g”
唯一的问题是,sed使用正则表达式,所以你需要通过在它之前加一个\来转义可能是通配符的东西,比如写\ $而不是$。
-i表示:就地编辑文件
-e表示:命令行中的下一个内容是要评估的表达式,即在其后的引号中的整个事物
's'的意思是'替代'
'g'表示'全球'替代