我试图让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 .