href语法:文件名中是否有空格是可以的

时间:2010-11-13 12:52:01

标签: html syntax anchor href

我的做法一直是,当我使用图像时,我将它们命名为 walls_icobu_hover

所以当我给出路径时,他们就像

<img src="images/walls_ico.ico" />
<img src="buttons/bu_hover.png" />

UNTIL现在当我在一个用户上传文件的项目...

我想知道在文件和文件夹名称之间有空格,如

<img src="buttons/bu hover.png" />

4 个答案:

答案 0 :(得分:54)

src属性应包含valid URL。自网址space characters are not allowed开始,您必须encode them

你可以写:

<img src="buttons/bu%20hover.png" />

<img src="buttons/bu+hover.png" />

因为,正如DavidRR在其评论中正确指出的那样,将空格字符编码为+仅在URL的查询字符串部分中有效,而不在路径本身中。

答案 1 :(得分:4)

引用HTML5以支持Frederic不允许使用空格:

http://www.w3.org/TR/html5/links.html#attr-hyperlink-href

  

a和area元素的href属性必须具有可能被空格包围的有效URL值。

&#34;有效网址&#34;的定义指向:http://url.spec.whatwg.org,它定义了URL代码点https://url.spec.whatwg.org/#url-code-points

  

网址代码点为ASCII字母数字,&#34;!&#34;,&#34; $&#34;,&#34;&amp;&#34;,&#34;&#39; &#34;,&#34;(&#34;,&#34;)&#34;,&#34; *&#34;,&#34; +&#34;,&#34;, &#34;,&#34; - &#34;,&#34;。&#34;,&#34; /&#34;,&#34;:&#34;,&#34 ;; &#34;,&#34; =&#34;,&#34;?&#34;,&#34; @&#34;,&#34; _&#34;,&#34;〜& #34;和代码点范围为U + 00A0至U + D7FF,U + E000至U + FDCF,U + FDF​​0至U + FFFD,U + 10000至U + 1FFFD,U + 20000至U + 2FFFD, U + 30000至U + 3FFFD,U + 40000至U + 4FFFD,U + 50000至U + 5FFFD,U + 60000至U + 6FFFD,U + 70000至U + 7FFFD,U + 80000至U + 8FFFD,U + 90000到U + 9FFFD,U + A0000到U + AFFFD,U + B0000到U + BFFFD,U + C0000到U + CFFFD,U + D0000到U + DFFFD,U + E1000到U + EFFFD,U + F0000到U + FFFFD,U + 100000到U + 10FFFD。

然后,规范在解析算法的各个部分使用术语URL代码点作为:

  

如果c不是EOF代码点,而不是URL代码点,而不是&#34;%&#34;,则解析错误。

用于方案,权限,相对路径,查询状态和片段状态:所以整个URL。

答案 2 :(得分:2)

  

如果您使用的是PHP

然后找出这段代码

$result = mysqli_query($con,$sql);
    //echo $ip."<br />";REGEXP
    //echo $name."<br />";
    echo "<table border=2px style='border-radius=20px;' align=center><tr>
    <th>Document ID</th>
    <th>Document Name Type</th>
    <th>Download Documents</th>
    </tr>";//<th>Project Document Type</th>
    while($row = mysqli_fetch_array($result)) {
        $path1=$row['FOLDERNAME'] .'/'. $row['FILENAME'] .'.'. $row['DOCTYPE'];
        $path=str_replace(" ", '%20', $path1);
        echo "<tr>";
        echo "<td>" . $row['DocID'] . "</td>";
       // echo "<td>" . $row['PROJDOCTYPE'] . "</td>";Thank you. Your Apple ID is now ready for use.
        echo "<td>" . $row['DOCNAME'] . "</td>";
        echo '<td><a href=Tender/'.$path.'>'.$row['DOCNAME'].'</a></td>';
        echo "</tr>";
    }
    echo "</table>";

    mysqli_close($con);

答案 3 :(得分:-3)

<body>
<img src="file:///C|/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures/Water lilies.jpg"
</body>
只有在本地主机中工作时才允许

空格