160 votes

Les guillemets simples sont-ils autorisés en HTML ?

Je suis un grand utilisateur de l'utilisation des guillemets doubles en PHP afin de pouvoir analyser les variables sans concaténer les chaînes de caractères. Par conséquent, lorsque je génère du HTML, j'utilise souvent des guillemets simples pour définir les champs des balises. Exemple :

$html = "<input type='text' name='address' value='$address'>" ;

C'est beaucoup plus facile à lire pour moi que les deux autres.

$html = "<input type=\"text\" name=\"address\" value=\"$address\">" ;

ou

$html = '<input type="text" name="address" values="' . $address . '">' ;

Lors de mes brèves recherches, j'ai entendu des personnes dire que les guillemets simples pour les champs HTML n'étaient pas reconnus par TOUS les navigateurs. Je me demande donc quels navigateurs auraient des problèmes à reconnaître les guillemets simples dans les champs HTML ?

1voto

UnkwnTech Points 21942

J'ai également tendance à utiliser des guillemets simples en HTML et je n'ai jamais rencontré de problème.

1voto

rchacko Points 51

J'ai utilisé des guillemets simples dans des pages HTML et j'y ai intégré des scripts Java et cela fonctionne bien. Testé dans IE9, Chrome et Firefox - semble fonctionner correctement.

<!DOCTYPE html>
<html>
    <head>
        <meta charset='utf-8'>
        <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
        <title>Bethanie Inc. data : geographically linked</title>
        <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js'></script>
        <script src='https://maps.googleapis.com/maps/api/js?v=3.11&sensor=false' type='text/javascript'></script>
        <script type='text/javascript'> 
        // check DOM Ready
        $(document).ready(function() {
            // execute
            (function() {
                /////////////// Addresses ///////////////////
                var locations = new Array();
                var i = 0;
                locations[i++] = 'L,Riversea: Comp Site1 at Riversea,1 Wallace Lane Mosman Park WA 6012'
                locations[i++] = 'L,Wearne: Comp Site2 at Wearne,1 Gibney St Cottesloe WA 6011'
                locations[i++] = 'L,Beachside:Comp Site3 Beachside,629 Two Rocks Rd Yanchep WA 6035'

                /////// Addresses/////////
                var total_locations = i;
                i = 0;
                console.log('About to look up ' + total_locations + ' locations');
                // map options
                var options = {
                    zoom: 10,
                    center: new google.maps.LatLng(-31.982484, 115.789329),//Bethanie  
                    mapTypeId: google.maps.MapTypeId.ROADMAP,
                    mapTypeControl: true
                };
                // init map
                console.log('Initialise map...');
                var map = new google.maps.Map(document.getElementById('map_canvas'), options);
               // use the Google API to translate addresses to GPS coordinates 
               //(See Limits: https://developers.google.com/maps/documentation/geocoding/#Limits)
                var geocoder = new google.maps.Geocoder();
                if (geocoder) {
                    console.log('Got a new instance of Google Geocoder object');
                    // Call function 'createNextMarker' every second
                    var myVar = window.setInterval(function(){createNextMarker()}, 700);
                    function createNextMarker() {
                        if (i < locations.length) 
                       {
                            var customer = locations[i];
                            var parts = customer.split(','); // split line into parts (fields)
                            var type= parts.splice(0,1);    // type from location line (remove)
                            var name = parts.splice(0,1);    // name from location line(remove)
                            var address =parts.join(',');   // combine remaining parts
                            console.log('Looking up ' + name + ' at address ' + address);
                            geocoder.geocode({ 'address': address }, makeCallback(name, type));
                            i++; // next location in list
                            updateProgressBar(i / total_locations);

                        } else 
                       {
                            console.log('Ready looking up ' + i + ' addresses');
                            window.clearInterval(myVar);
                        }
                    }

                    function makeCallback(name,type) 
                   {
                        var geocodeCallBack = function (results, status) {
                            if (status == google.maps.GeocoderStatus.OK) {
                                var longitude = results[0].geometry.location.lng();
                                var latitude = results[0].geometry.location.lat();
                                console.log('Received result: lat:' + latitude + ' long:' + longitude);
                                var marker = new google.maps.Marker({
                                    position: new google.maps.LatLng(latitude, longitude),
                                    map: map,
                                    title: name + ' : ' + '\r\n' + results[0].formatted_address});// this is display in tool tip/ icon color
                                   if (type=='E')  {marker.setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png')};

-2voto

mcandre Points 6965

... ou utilisez simplement heredocs. Dans ce cas, vous n'avez pas besoin de vous soucier d'échapper à quoi que ce soit d'autre que END .

-10voto

Adam N Points 3395

Les guillemets simples conviennent pour le HTML, mais ils ne rendent pas le XHTML valide, ce qui pourrait être problématique si quelqu'un utilisait un navigateur qui ne supporte que le XHTML, mais pas le HTML. Je ne crois pas que de tels navigateurs existent, mais il y a probablement des agents utilisateurs qui exigent un XHTML strict.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X