এইচটিএমএল এ কি একক উদ্ধৃতি অনুমোদিত?


146

আমি পিএইচপি-তে ডাবল কোট ব্যবহার করার জন্য একটি বড় সময়ের ব্যবহারকারী, যাতে আমি স্ট্রিংগুলি সংক্ষিপ্ত করার পরিবর্তে ভেরিয়েবলগুলিকে ইন্টারপোল্ট করতে পারি। ফলস্বরূপ, যখন আমি এইচটিএমএল উত্পাদন করি তখন আমি প্রায়শই ট্যাগ ক্ষেত্রগুলি সেট করার জন্য একক উদ্ধৃতি ব্যবহার করি। উদাহরণ স্বরূপ:

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

এখন এটি উভয়ের চেয়ে আমার কাছে অনেক বেশি পাঠযোগ্য

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

অথবা

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

সংক্ষিপ্ত অনুসন্ধানগুলি থেকে আমি লোকেদের শুনেছি যে এইচটিএমএল ক্ষেত্রগুলির জন্য একক উদ্ধৃতি প্রতিটি ব্রাউজার দ্বারা স্বীকৃত নয়। এইভাবে আমি ভাবছি যে কোন ব্রাউজারগুলির একক উদ্ধৃতি এইচটিএমএল সনাক্ত করতে সমস্যা হবে?


উত্তর:


149

এটি যখন এইচটিএমএলে একক উদ্ধৃতি এত জনপ্রিয় হয়ে উঠেছে এর সমান ? । এইচটিএমএলে বৈশিষ্ট্যগুলির একক উদ্ধৃতিগুলি হ'ল এবং সর্বদা স্পেসিফিকেশন দ্বারা অনুমোদিত হয় । আমি মনে করি না যে কোনও ব্রাউজারগুলি সেগুলি বুঝতে পারে না।


13
এখানে একটি জিনিস উল্লেখ করার দরকার যা হ'ল কিছু এইচটিএমএল ক্লায়েন্টের (প্রয়োজনীয় ব্রাউজারগুলি নয়) একক উদ্ধৃতিতে তুলনামূলকভাবে সমস্যা রয়েছে। একটি আশ্চর্যের উদাহরণ হটমেইলে আপনি যদি <img src='cid:xxx' ... />কোনও ইনলাইন চিত্র দেখানোর জন্য ব্যবহার করেন তবে এটি মোটেই প্রদর্শিত হবে না কারণ সামগ্রী আইডি উপেক্ষা করা হয়েছিল। পরিবর্তে আপনাকে im <img src = "cid: xxx" ... /> ব্যবহার করতে হবে।
আর্থ ইঞ্জিন

52

ফিলো দ্বারা উল্লিখিত হিসাবে, যদিও এখানে বিস্তৃত বিশ্বাস রয়েছে যে গুণাবলীর মানগুলির জন্য একক উদ্ধৃতি অনুমোদিত নয়, এই বিশ্বাসটি ভুল।

এক্সএমএল মান অ্যাট্রিবিউট মান প্রায় উভয় একক এবং ডবল কোট অনুমতি দেয়।

এক্সএইচটিএমএল স্ট্যান্ডার্ড এটিকে পরিবর্তন করতে কিছু বলে না, তবে একটি সম্পর্কিত বিভাগ যা উল্লেখ করে যে গুণাবলীর মানগুলি উদ্ধৃত করা আবশ্যক উদাহরণে ডাবল উদ্ধৃতি ব্যবহার করে, যা সম্ভবত এই বিভ্রান্তির কারণ হয়ে দাঁড়িয়েছে। এই উদাহরণটি নিছক নির্দেশ করছে যে এক্সএইচটিএমএলে বিশিষ্ট মানগুলিকে অবশ্যই এক্সএমএলে বিশিষ্ট মানের জন্য ন্যূনতম মানটি পূরণ করতে হবে, যার অর্থ সেগুলি উদ্ধৃত করা আবশ্যক (প্লেইন এইচটিএমএল এর বিপরীতে যা যত্ন নেয় না), তবে আপনাকে একক বা এককভাবে সীমাবদ্ধ করে না or উদ্ধৃতি চিহ্ন.

অবশ্যই, এটি সর্বদা সম্ভব যে আপনি এমন একটি পার্সারের মুখোমুখি হবেন যা মান-অনুপযুক্ত নয়, তবে যখন এটি ঘটে তখন সমস্ত দাগ যে কোনওভাবে বন্ধ হয়ে যায়। সুতরাং স্পেসিফিকেশন যা বলে তাতে কেবল আটকে থাকা ভাল। সে কারণেই আমাদের স্পেসিফিকেশন রয়েছে।


2
এক্সএমএল স্ট্যান্ডার্ডের লিঙ্কটির জন্য +1। আমি জানি এটি একটি পুরানো থ্রেড, তবে সম্পূর্ণতার জন্য, লোকদের স্ট্যান্ডার্ডের মধ্যে অ্যাটভ্যালু ব্যাকরণের নির্দিষ্টকরণের দিকে বিশেষ মনোযোগ দেওয়া উচিত । আপনি যদি ইবিএনএফ পড়তে পারেন (নিয়মিত অভিব্যক্তির সাথে খুব মিল) আপনি দেখতে পাবেন এটি বৈশিষ্ট্যগুলি সীমান্তে একক এবং ডাবল উভয় উদ্ধৃতি ব্যবহারের অনুমতি দেয়।
ডাইস্কোগ

7
তবে এইচটিএমএল এসজিএমএল উপর ভিত্তি করে (এটি এক্সএইচটিএমএল যা এক্সএমএল উপর ভিত্তি করে) তাই এক্সএমএল অনুমান উদ্ধৃত করা খুব কার্যকর নয় ...
ডোনাল ফেলো

আসল বিভ্রান্তিটি হ'ল কোনও অ্যাট্রিবিউটের মানতে সিঙ্গল বা ডাবল উদ্ধৃতি সর্বদা পালাতে হবে কিনা। দেখে মনে হচ্ছে আপনি যদি গুণকের মানটির চারপাশে ডাবল উদ্ধৃতি ব্যবহার করেন তবে আপনাকে ডাবল উদ্ধৃতিগুলি এড়িয়ে যেতে হবে, তবে একক উদ্ধৃতি নয়। পরিবর্তে আপনি যদি গুণকের মানটির চারপাশে একক উদ্ধৃতি ব্যবহার করেন, তবে আপনাকে একক উদ্ধৃতিগুলি এড়িয়ে যেতে হবে, তবে ডাবল উদ্ধৃতিগুলি নয়। এবং আমি মনে করি এটি হ'ল সম্পূর্ণ পয়েন্ট। আপনার মানটিতে যদি আপনার অনেকগুলি ডাবল উদ্ধৃতি থাকে তবে আপনি পুরো মানটির চারপাশে একক উদ্ধৃতি ব্যবহার করে এবং এগুলির বিপরীতে এড়াতে এড়াতে পারেন।
ট্রায়ঙ্কো

বিষয়টির সত্যতা হল, আপনি যদি কোনও এক্সএইচটিএমএল ডকুমেন্ট মোড ব্যবহার করেন তবে আপনি জাভাস্ক্রিপ্ট ইন্টারপ্রেটার সমস্যাগুলিতে চলে যাবেন যেখানে এটি জাভাস্ক্রিপ্ট-নির্মিত কোনও এইচটিএমএলকে ডাবল উদ্ধৃতি ব্যবহার করতে বাধ্য করতে চেষ্টা করবে , এর ভিতরে থাকা অবিচ্ছিন্ন ডাবল উদ্ধৃতিগুলির সাথে অ্যাট্রিবিউটগুলি ভাঙবে। আমি বেশ কয়েক বছর আগে ফায়ারফক্সের পাশাপাশি আইই-তে এই সমস্যায় পড়েছি।
ব্যবহারকারী 2867288

16

আমি লোকদের বলতে শুনেছি যে এইচটিএমএল ক্ষেত্রগুলির জন্য একক উদ্ধৃতিগুলি প্রতিটি ব্রাউজার দ্বারা স্বীকৃত নয়

Person ব্যক্তি ভুল


30
অগত্যা। আমি কয়েক মিনিটের মধ্যে এমন একটি ব্রাউজার তৈরি করতে পারি যা এইচটিএমএল ক্ষেত্রগুলির জন্য একক উদ্ধৃতিগুলি স্বীকৃতি দেয় না। অবশ্যই, আরও অনেক কিছু আছে যা এটি স্বীকৃতি দেয় না ...; পি
অরবিট

@ লাইটনেসেসেসিনঅরবিট "আপনার এই অর্থ কী এই ব্রাউজারটি সিএসএস সমর্থন করে না ?!"
BadHorsie

... বা আরও গুরুত্বপূর্ণ, "সেই ব্রাউজারটি (যা না) মৃত মাংস"। : পি
টুলমেকারস্টেভ

পছন্দ দেখে মনে হচ্ছে যে কোনও পুরো ব্রাউজারটি তৈরি করতে যথেষ্ট উত্সাহিত হয়েছে এটিকে একক উদ্ধৃতি গ্রহণ করার জন্য অতিরিক্ত 5 মিনিট লাগাতে চলেছে।
ব্যবহারকারী 3413723

7

আপনি ইন্টারনেটে যা দেখেন সবকিছু বিশ্বাস করবেন না ...
মজাদার, আমি সবেমাত্র এমন কাউকে উত্তর দিয়েছি যে এক্সএইচটিএমএলে একক উদ্ধৃতি বৈধ নয় ...

মুম, টাইপ করার সময় আমি উপরের দিকে তাকাই এবং দেখি অ্যাডাম এন একই বিশ্বাস প্রচার করে propag তিনি যদি তার সত্যতা নিশ্চিত করতে পারেন তবে আমি যা লিখেছিলাম তা প্রত্যাহার করি ... এএফআইএইচ, এক্সএমএল অজ্ঞেয়বাদী এবং উভয় ধরণের উক্তি গ্রহণ করে। আমি এমনকি কোনও একক কোট সহ একটি এক্সএইচটিএমএল পৃষ্ঠা সমস্যা ছাড়াই চেষ্টা করেছি এবং যাচাই করেছি।


4

কেবল সমস্যাটি হ'ল ডেটা পাঠ্য ইনপুট ক্ষেত্রে is বিবেচনা

<input value='it's gonna break'/>

একই সাথে:

<input value="i say - "this is gonna be trouble" "/>

আপনি যে এড়াতে পারবেন না, আপনি ব্যবহার করতে হবে htmlspecialchars


2
তবে আপনি এটি করতে পারেন:<input value='it&apos;s gonna break'/>
rink.attendant.6

4
আমি মনে করি আমাদের একক বা ডাবল উদ্ধৃতি ব্যবহারের অপশন থাকার কারণটি হ'ল এই দৃশ্যে অক্ষরগুলি থেকে বাঁচতে হবে। আপনি কি আপনার মূল্য একমাত্র উদ্ধৃতি চিহ্ন থাকে, তাহলে একক কোট দিয়ে ঘিরে রেখেছে উদ্ধৃতি চিহ্ন অব্যাহতি থাকার এড়াতে যেমন: <input value="it's not gonna break"/>এবং তদ্বিপরীত: <input value='i say - "this is not gonna be trouble"'/>
ট্রায়ঙ্কো

1
@ ট্রাইঙ্কো ঠিক আছে। এছাড়াও: সামগ্রীর জন্য , "বোবা কোট" প্রথমে ব্যবহার না করে বিবেচনা করুন , তবে "টাইপোগ্রাফিক উদ্ধৃতি": পিটারের বার নয়, পিটারের বার। ☞ en.wikipedia.org/wiki/Quotation_mark#Quotation_marks_in_English
ফ্রাঙ্ক Nocke

2

যেহেতু আমি স্পেসিফিকেশনের আরও সাম্প্রতিক সংস্করণে এ সম্পর্কিত তথ্য সন্ধান করছিলাম এবং এটি খুঁজে পেতে আমাকে বেশ কিছুটা সময় নিয়েছিল, এটি এখানে:

থেকে

এইচটিএমএল 5.3

সম্পাদক এর খসড়া, 18 অক্টোবর 2018

[...]

8.1.2.3। আরোপ করা

একক-উদ্ধৃত গুণাবলী মান সিনট্যাক্স

শূন্য বা আরও বেশি স্থানের অক্ষর দ্বারা অনুসরণ করা বৈশিষ্ট্যটির নাম, তার পরে একটি একক U + 003D EQUALS সাইন অক্ষর এবং তারপরে শূন্য বা তার বেশি স্থানের অক্ষর এবং তারপরে একটি একক U + 0027 এপোস্ট্রোফাইট অক্ষর (') এবং তারপরে বৈশিষ্ট্যটির মান, যা, বৈশিষ্ট্যের মানগুলির জন্য উপরে বর্ণিত প্রয়োজনীয়তাগুলি ছাড়াও কোনও আক্ষরিক ইউ + 0027 এপোস্ট্রোফাইট অক্ষর (') থাকতে হবে না এবং অবশেষে দ্বিতীয় একক ইউ + 0027 এপোস্ট্রোফাইট অক্ষর (') অনুসরণ করবে।

নিম্নলিখিত উদাহরণে, বৈশিষ্ট্যটি একক-উদ্ধৃত বিশিষ্ট মান বাক্য গঠন সহ দেওয়া হয়:

<input type='checkbox'>

যদি একক-উদ্ধৃত বিশিষ্ট সিনট্যাক্স ব্যবহার করে কোনও অ্যাট্রিবিউটকে অন্য কোনও বৈশিষ্ট্য অনুসরণ করা হয়, তবে অবশ্যই দুটি স্পেস আলাদা করতে একটি স্পেস অক্ষর থাকতে হবে।

http://w3c.github.io/html/single-page.html#elements-attributes


1

আমি এইচটিএমএলতে একক উদ্ধৃতি ব্যবহার করার প্রবণতাও দেখি এবং আমি কখনও কোনও সমস্যা অনুভব করি না।


1

আমি এইচটিএমএল পৃষ্ঠাগুলিতে একক উদ্ধৃতি ব্যবহার করেছি এবং এতে জাভাস্ক্রিপ্ট এম্বেড করেছি এবং এর কাজগুলি সূক্ষ্ম। আইই 9, ক্রোম এবং ফায়ারফক্সে পরীক্ষিত - ঠিক আছে বলে মনে হচ্ছে

<!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')};

-1

গুগল অনুসন্ধান অপ্টিমাইজেশান নিয়ে সম্প্রতি আমি একটি সমস্যা পেয়েছি। যদি একটি একক উক্তি থাকে তবে এটি লিঙ্কযুক্ত পৃষ্ঠাগুলি ক্রল করবে বলে মনে হয় না।


1
এটি কি শুধু <a href=''>গুণাবলী মধ্যে?
আন্তোচানিং 12 '12

-2

... বা কেবল হেরিডোক ব্যবহার করুন। তারপরে আপনার আর কিছু পালানোর বিষয়ে চিন্তা করার দরকার নেই END


আমি বিশ্বাস করি আপনি পিএইচপি-তে বংশগত সামর্থ্যের কথা উল্লেখ করছেন ।
ডেভিডআরআর

নিশ্চিত নয় কেন এই উত্তরটি মূল প্রশ্নের প্রেক্ষাপটে বাদ দেওয়া হয়েছে। এটি ডাবল আয়াতগুলির একক উদ্ধৃতি ইস্যুটির সরাসরি উত্তর দেয় না, তবে এটি পিএইচপি পলায়নের ইস্যুটিকে সম্বোধন করে যা ওপিকে প্রথম স্থানে একক উদ্ধৃতি সমর্থন করে। এটি তবে ব্যবহারের উদাহরণ দিয়ে করতে পারে।
আন্তোনচ্যানিং

-10

সিঙ্গেল কোটগুলি এইচটিএমএল-এর জন্য সূক্ষ্ম, তবে তারা বৈধ এক্সএইচটিএমএল তৈরি করে না, যদি কেউ এমন কোনও ব্রাউজার ব্যবহার করে যা কেবল এক্সএইচএমএল সমর্থন করে তবে এইচটিএমএল নয় proble আমি বিশ্বাস করি না যে এ জাতীয় কোনও ব্রাউজার রয়েছে, যদিও সেখানে সম্ভবত কিছু ব্যবহারকারী-এজেন্ট রয়েছেন যার জন্য কঠোর এক্সএইচটিএমএল প্রয়োজন।


সবচেয়ে খারাপ দিকটি হ'ল এইচটিএমএল পৃষ্ঠাগুলি লিখলেও এটিকে এইচটিএমএল হিসাবে চিহ্নিত করুন কারণ এটি 'আরও ভাল'। ভাগ্যক্রমে এই ফ্যাডটি নীচে যাচ্ছে বলে মনে হচ্ছে।
জাভিয়ের

4
এক্সএইচটিএমএল সম্পর্কে এই বিবৃতি সত্য বলে আমি বিশ্বাস করি না। উভয় "এবং 'XML- এর গ্রহণযোগ্য, এবং W3C এর যাচাইকারী একক উদ্ধৃত বৈশিষ্ট্যাবলী সঙ্গে এক্সএইচটিএমএল নথি গ্রহণ করে সম্ভবত এই এক্সএইচটিএমএল unquoted বৈশিষ্ট্যাবলী যা HTML এ আইনী দূর সঙ্গে একটি বিভ্রান্তির করা যেতে পারে।?
ডগ McClean

আপনি যদি না আপনার পৃষ্ঠাকে পাঠ্য / এক্সএইচটিএমএল হিসাবে পরিবেশন করেন এবং পাঠ্য / এইচটিএমএল ব্রাউজারগুলি এটি এইচটিএমএল হিসাবে রেন্ডার করে না, তাই এইচটিএমএল বিধি প্রযোজ্য হবে। নির্বিশেষে, ডাব্লু 3 সি নীতিগুলির একটি হ'ল ওয়েবটি ব্রেইক করা নয়। কারণ এটি এখন কাজ করে, সম্ভবত এটি আগামীকাল কাজ করবে।
ডায়োডিয়াস - জেমস ম্যাকফার্লেন 21

8
এক্সএইচটিএমএল পৃষ্ঠাগুলি সুস্পষ্টভাবে এক্সএমএল হওয়া দরকার এবং এক্সএমএল বৈশিষ্ট্যের চারপাশে ডাবল বা একক উদ্ধৃতি দেয়।
নেড ব্যাচেল্ডার

@ সফটওয়্যারমনকি আসলে আপনার প্রয়োজন application/xhtml+xmlবা application/xml
rink.attendant.6
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.