2013-02-28 29 views
29

Trong HTML, cách ưa thích để chỉ định mã html như " là gì và điểm khác biệt chính là gì? Ví dụ:Cách mã đúp Quotes qua mã HTML

&quot; <!-- friendly code --> 
&#34;  <!-- numerical code --> 
&#x22; <!-- hex code --> 

Tôi nên sử dụng loại nào và có bao giờ là vấn đề nếu một trong số đó bị phản đối không?

+0

" hoặc " là cách tốt, cuối cùng là sự hỗ trợ của trình duyệt. – Sarang

Trả lời

49

Thực sự không có bất kỳ sự khác biệt nào.

&quot; được xử lý là &#34; tương đương với số thập phân là &x22; tương đương ISO 8859-1 là ".

Lý do duy nhất bạn có thể chống lại bằng cách sử dụng &quot; là vì nó là mistakenly omitted from the HTML 3.2 specification.

Nếu không, tất cả sẽ chuyển thành sở thích cá nhân.

+0

Giải thích tuyệt vời @JamesDonnelly và một số tham khảo lịch sử tuyệt vời - cảm ơn! –

5

Google khuyên bạn không sử dụng bất kỳ trong số họ, source.

Không có nhu cầu sử dụng tham chiếu thực thể như &mdash, &rdquo, hoặc &#x263a, giả sử mã hóa cùng (UTF-8) là được sử dụng cho các tệp và biên tập viên cũng như giữa các nhóm.

Có lý do nào bạn không thể đơn giản sử dụng "?

+1

Không có lý do thực sự @Andy. Trong nhiều năm, tôi đã được điều kiện để sử dụng mã html bất cứ khi nào và bất cứ nơi nào có thể. Chủ yếu là do hiển thị nội dung từ cơ sở dữ liệu, bài đăng trên WordPress, thực tế là các ký tự junky đến từ mọi người sao chép và dán tài liệu Word vào textareas, v.v. Vì vậy, điều kiện của tôi luôn là sử dụng mã html làm phương pháp tạo nội dung. Tôi đã chỉ tò mò là tại sao có cần phải có 3 cách khác nhau để mã một dấu ngoặc kép trong mã html, ví dụ. –

+3

Hey @Andy - liên kết của bạn với đề xuất của Google/Hướng dẫn kiểu thực sự rất hữu ích. Tôi chỉ tận dụng nó và nó đặt ra rất nhiều tiêu chuẩn tuyệt vời (những gì tôi muốn gọi là "Thực tiễn Tốt nhất" cá nhân của tôi). Cám ơn vì đã chia sẽ liên kết đó! Tôi vẫn cần phải suy nghĩ về phương pháp HTML Code nhưng tài liệu này cho tôi rất nhiều suy nghĩ. –

+1

Vâng, có một lý do chính đáng cho điều đó.Tôi chỉ phải sửa một tình huống với độ dài ví dụ 12 "được lưu trong DB và sau đó trở thành một phần thuộc tính alt hình ảnh - được tạo bởi JavaScript. Vì vậy, một cái gì đó linke var myAlt =" some stuf 12 "long"; sẽ phá vỡ tập lệnh, nhưng var myAlt = "some stuf 12 " long"; sẽ hoạt động tốt. – vector

2

Không có sự khác biệt, trong trình duyệt mà bạn có thể tìm thấy trong tự nhiên những ngày này (nghĩa là, loại trừ những thứ như Netscape 1 mà bạn có thể tìm thấy trong bảo tàng). Không có lý do gì để nghi ngờ rằng bất kỳ một trong số chúng sẽ không được dùng nữa, đặc biệt vì chúng đều hợp lệ trong XML, trong HTML 4.01 và trong HTML5 CR.

Không có lý do gì để sử dụng bất kỳ dấu nào, ngược lại với việc sử dụng dấu ngoặc kép Ascii trực tiếp, ngoại trừ trường hợp rất đặc biệt khi bạn có giá trị thuộc tính kèm theo các dấu đó và bạn muốn sử dụng đánh dấu bên trong giá trị (ví dụ, title="Hello &quot;world&quot;"), và thậm chí sau đó, có những lựa chọn gần như luôn luôn tốt hơn (như title='Hello "word"' hoặc title="Hello “word”".

Nếu bạn muốn sử dụng “thông minh” dấu ngoặc kép thay vào đó, sau đó nó là một câu hỏi khác nhau, và không ai Một số người mong đợi các ký hiệu như &quot; để tạo ra các dấu ngoặc kép “thông minh”, nhưng rất dễ thấy rằng chúng không có, các ký hiệu rõ ràng biểu thị câu Ascii ("), như được sử dụng trong tính toán ngôn ngữ r.