我正在解析一个 PHP 文件并将函数原型元素包装在 HTML 中。但是,如果有&符号,它会破坏我的代码。
Input : function foo (&$var1, &$var2){...}
//as String
Desired output (in HTML) : &$var1, &$var2
//基本上,只是输出变量,以便它们在浏览器中正确显示
现在,我将每个变量发送到 awk 的子方法1,然后发送到 sed。
sub(/^&/, "\\\&", param) #param is the variable of interest (e.g. &$var1)
#Intermediate step in case it's relevant. The awk-processed elements
#are sent to ${file}_param.txt. Each set of parameters are delimited by colons.
param=$(cut -d: -f$counter ${file}_param.txt)
#Replace some default text in template file with real stuff.
sed -i "s|@PARAM|$param|1" "$base"_funct_def.txt
我得到的输出:& 符号正在被解释。整场比赛被替换。
问题隔离:执行以下操作会在浏览器中显示我想要的“g$var1”。但是,我试图得到一个 '&' 代替。
sub(/^&/, "g", param)
我的尝试:我使用了三个反斜杠,因为我认为 awk 会首先将其处理为 '\&',然后将其输入 sed,将 '\&' 解释为文字 '&'。不过,我尝试了 1 到 6 个反斜杠,但无济于事。
问题:我怎样才能逃脱&?
1手册: http: //www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_92.html
关于我正在尝试做什么的一些“元”/设计问题(不需要提问!!)
我有一堆 PHP 文件,我正在尝试为其生成一些文档(结构类似于 Javadocs)。我正在使用 REGEX 和 shell 脚本进行分析并分析它,以便列出函数名称、参数和返回项。到目前为止,我认为 REGEX 的效果很好,但是我已经阅读了很多关于 REGEX 不应该用于此的内容。我欢迎对此提出任何意见(文档通常是如何生成的?)。多谢你们!