我试图让Twig编译模板并用绝对路径替换所有相对路径 .
这是我的结构:
Source Directory Structure:
myFolder/
content.txt
image.png
Output Directory Structure:
index.html
myFolder/
content.html
image.png
content.txt
文件包含以下内容:
Hello {{ twigvar }}
<img src="image.png" />
经过Twig后, content.html
文件包含:
Hello varvalue
<img src="image.png" />
我有一个PHP应用程序从源 myFolder
获取内容,通过Twig模板传递 content.txt
并将输出HTML写入输出目录中的 myFolder/content.html
. 该脚本还将图像复制到输出目录 . 当我在浏览器中查看 content.html
页面时,图像完全显示,正如您所期望的那样 .
一切正常,直到这一点,因为我真正做的就是编译模板并查看输出 .
问题是,如何在 index.html
上显示HTML输出?由于图像路径是相对的, index.html
不显示图像 .
我想让Twig用绝对路径替换所有相对路径,所以 content.html
的输出将是这样的:
Hello varvalue
<img src="http://localhost/mywebsite/myFolder/image.png" />
当我调用 render
函数时,我将知道 http://localhost/mywebsite/myFolder/
字符串 . 我必须在源文件中使用相对路径,因为输出文件夹可能因站点配置而异 . 我也不能在源内容文件中使用任何模板变量,因为文件是用markdown编写的并且编译为HTML .