2010-11-13 13 views
32

è sempre stata la mia pratica che, quando mai io uso immagini Nomino loro come walls_ico, bu_hoversintassi href: è bene avere spazio nel nome del file

così quando mi danno i percorsi vanno come

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

fino ad oggi quando sono su un progetto in cui gli utenti caricano i file ...

mi chiedevo è bene avere spazi tra le file e il nome come le cartelle

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

** Correlati: ** [? In un URL, devono essere codificati usando gli spazi% 20 o +] (http://stackoverflow.com/q/1211229/1497596) – DavidRR

risposta

47

L'attributo src deve contenere un valid URL. Dal space characters are not allowed negli URL, è necessario encode them.

Si può scrivere:

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

Ma non:

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

Perché, come DavidRR sottolinea giustamente nel suo commento, i caratteri di spazio codifica + è valida solo nella stringa di query porzione di un URL, non nel percorso stesso.

+2

Fondamentalmente solo url codificare src, se si sta lavorando con php basta usare: http://php.net/manual/en/function.urlencode.php –

+0

Sapevo che avrei dovuto postare la mia risposta prima di verificare i fatti ... =/my poiché ho detto più o meno la stessa cosa che ho cancellato m rispondi. +1 per la tua velocità, signore! = b –

+1

** Attenzione: ** Il [W3C Markup Validation Service] (http://validator.w3.org/) non ha contrassegnato le occorrenze dei valori 'a/@ href' con spazi nei file XHTML Transitional che ho controllato. – DavidRR

-3
<body> 
<img src="file:///C|/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures/Water lilies.jpg" 
</body> 

spazi saranno consentiti solo quando si lavora in host locali

+3

In realtà non sono consentiti, ciò che può accadere in un caso si interrompe a seconda dei browser e dei doctype. – Tobu

4

Citando HTML5 per eseguire Federico che gli spazi non sono consentiti:

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

L'attributo href su a e gli elementi area devono avere un valore che è un URL valido potenzialmente circondato da spazi.

La definizione di "URL validi" punti a: http://url.spec.whatwg.org che definisce i punti di codice URL https://url.spec.whatwg.org/#url-code-points: "!"

punti di codice

l'URL sono alfanumerici ASCII, "$", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", ":", ";", "=", "? "," @ "," _ "," ~ "e punti di codice negli intervalli da U + 00A0 a U + D7FF, da U + E000 a U + FDCF, U + FDF0 a U + FFFD, U + da 10000 a U + 1FFFD, da U + 20000 a U + 2FFFD, da U + 30000 a U + 3FFFD, da U + 40000 a U + 4FFFD, da U + 50000 a U + 5FFFD, da U + 60000 a U + 6FFFD, da U + 70000 a U + 7FFFD, U + 80000 a U + 8FFFD, U + 90000 a U + 9FFFD, U + A0000 a U + AFFFD, U + B0000 a U + BFFFD, U + C0000 a U + CFFFD, U + D0000 a U + DFFFD, U + da E1000 a U + EFFFD, da U + F0000 a U + FFFFD, da U + 100000 a U + 10FFFD.

La specifica utilizza poi i punti di codice URL termine su varie parti del algoritmo di analisi come:

Se c non è il punto di codice EOF, non un punto di codice URL, e non "%" , errore di analisi.

per lo schema, l'autorizzazione, il percorso relativo, lo stato della query e gli stati dei frammenti: quindi l'intero URL.

1

Se si utilizza PHP

poi scoprire questo codice

$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); 
Problemi correlati