在 Lex 中的输入文件中插入文本(使用 C)
我正在尝试帮助一位朋友完成大学作业,但我忘记了很多 C 和 Lex。
问题是,我们正在尝试解析 HTML 和相应的 CSS 文件并将其样式添加到标签中。
例如:
HTML
<body>
</body>
CSS
body{color:black;}
修改的 HTML
<body style="color:black;">
</body>
所有正则表达式和宏都已完成。
问题:输入的 HTML 和修改后的 HTML 必须是同一个文件。我们尝试将 yyin 和 yyout 重定向到同一个文件...然后使用 fputs(text, yyout);其中 text 是带有所有样式信息(和 style="")的 char * 。这不起作用。
那么...你们能帮助他吗?
重要的是不要丢失文件中位置的概念(因此 style="" 会转到正确的标签)。
谢谢
I'm trying to help a friend in a college assignment, but i kind of forgot a lot of C an Lex.
The thing is, we are trying to parse a HTML and a correspondent CSS file and add to a tag it's style.
Eg:
HTML
<body>
</body>
CSS
body{color:black;}
modified HTML
<body style="color:black;">
</body>
All the regex are done and the Macros too.
Problem: The input HTML and modified HTML gotta be the same file. We tried redirect both yyin and yyout to the same file... and then use the fputs(text, yyout); where text is a char * with all the style information (and style=""). It doesn't work.
So... Can you guys help him?
its important not to lose the notion of location in the file (so the style="" goes to the right tag).
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将 yyin 和 yyout 重定向到同一个文件将不起作用..(正如您已经知道的那样)。我的方法是:
没有其他方法,如果 yyout 与 yyin 您的(原始输入)文本相同将会重叠。
redirect yyin and yyout to the same file will not work.. ( as you already know ) . My approach would be:
There is no other way, if yyout is the same as yyin your (original input) text will be overlaped.