0

我最近才开始编程,我遇到了这个问题,所以我有这个 html 片段。我想解析 img 的 src 属性并使用 urly 路径规范化对其进行规范化,并向 src 添加一些新路径。

<html>
<body>
    <div class="content">lorem ipsum
        <img style="margin-top: -5px;" src="/img/car.png" />
    </div>
    <img style="margin-top: -5px;" src="/img/chair.png" />
</body>
</html>

变成这个

<html>
<body>
    <div class="content">lorem ipsum
        <img style="margin-top: -5px;" src="/path1/img/car.png" />
    </div>
    <img style="margin-top: -5px;" src="/path1/img/chair.png" />
</body>
</html>

我想到了这种方法,但我就是找不到获取 src 值的方法

(html/deftemplate template-about "../resources/public/build/about/index.html"
[]
[:img] (html/set-attr :src (str "path1" (urly/path-of ("the src value")))
)
4

1 回答 1

1

你正在寻找一个update-attr功能,之前讨论过

如:

(html/deftemplate template-about "../resources/public/build/about/index.html"
[]
[:img] (fn [node]
          (let [href (-> node :attrs :href)]
             (assoc-in node [:attrs :href] (urly/path-of href))))

或采用通用路径

(defn update-attr [attr f & args]
    (fn [node]
      (apply update-in node [:attrs attr] f args))))

进而

(update-attr :href urly/path-of)
于 2013-10-29T12:21:20.673 回答