如何检测html代码字符串中的文件路径

时间:2012-06-15 09:10:29

标签: html detect filepath

我需要使用ajax读取一串HTML代码并重构字符串中的每个文件路径。

例如:

我需要检测“../../images/home.jpg” 并将其更改为“http://www.mywebsite.com/report/images/home.jpg”。

我实际上正在做一个仪表板。使用iframe在仪表板中显示内容会降低我的性能。为了不使用iframe,我打算读入目标URL的html代码字符串。但这里唯一的因素是,如果任何图像,javascript或css的文件路径不是绝对路径,我的仪表板将无法显示。

请介绍如何在一串html代码中检测文件路径,或者您知道的是否存在任何现有库。

这是我正在阅读的一个简单的HTML代码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
    Web Report: Customer Complains
</title><link rel="stylesheet" type="text/css" href="../../../css/Concept1.css" /></head>
<style type="text/css">

</style>
<body>
        <div class="SectionTitleContainer1">
            <div style="text-align: left;" class="SectionTitle">
                Customer Complaints
            </div>
        </div>
    <table cellspacing="0" cellpadding="5" style="width: 100%;" border="0">

        <tr>
            <td width="1%" align="left">
                <a>
                Refund 

                    </a>
            </td>
            <td width="1%" style="text-align: right">139</td>
            <td align="left" style="">
                <img src="../../../images/tile-horiz-bar.png" style="height: 10px; width: 100px" />
            </td>
        </tr>

        <tr>
            <td width="1%" align="left">
                <a>
                Appointment Rescheduled/Delayed 

                    </a>
            </td>
            <td width="1%" style="text-align: right">96</td>
            <td align="left" style="">
                <img src="../../../images/tile-horiz-bar.png" style="height: 10px; width: 69px" />
            </td>
        </tr>                
    </table>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

经过长时间的发现,我了解到如果需要两个不同的系统来显示相同​​的UI,我们应该将图像文件(或任何其他脚本文件)放在服务器的公共目录中。应为Web应用程序授予访问服务器本地目录中文件的适当权限。保存图像文件的目录不应该是安全的,也不应暴露给公众(如有必要)。