2011-10-07 22 views
7

Tôi có một câu hỏi khá đơn giản. Có một thực thể html được đặt tên trong tài liệu tham khảo 'hầu hết' cho ký hiệu đô la và đó là những gì bạn mong đợi; '& đô la;'.

Nhưng trong các tham chiếu khác, điều này bị thiếu và chỉ cho bạn biết thực thể dạng số có sẵn (& # 36;).

Vì tôi nhớ thực thể được đặt tên không tồn tại trong một thời gian dài vì $ là một phần của bộ ascii tiêu chuẩn. Và do phiên bản cũ hơn/cũ hơn của IE và các trình duyệt khác không hỗ trợ thực thể này.

Vì vậy, thỏa thuận với điều này hiện tại là gì? Tôi đang tìm kiếm hỗ trợ cho thực thể được đặt tên là gì và tại sao điều này không được hỗ trợ ở địa điểm đầu tiên ...

Đây là tham chiếu đến tất cả các ký hiệu tiền tệ, nơi đủ lạ chỉ đồng đô la không có tên thực thể http://www.entitycode.com/#currency-content

Dưới đây là một ví dụ nhỏ về những gì tôi đang nói về khi bạn sử dụng một đồng đô la + int http://codepad.org/xCxWZWsu Và vâng tôi biết rằng trong ví dụ đơn giản này tôi có thể chỉ thoát khỏi dấu đô la với một dấu gạch chéo nhưng tin tôi khi Tôi nói rằng làm cho nó một thực thể khi tôi lưu chuỗi là giải pháp lành mạnh nhất trong trường hợp của tôi.

Bất kể ví dụ nào của tôi, tôi vẫn tò mò về sự hỗ trợ cho đồng đô la &; thực thể là.

+0

Câu hỏi của bạn chính xác là gì? Điều gì sẽ quan trọng nếu một tham chiếu ký tự '& đô la; 'tồn tại hay không? – RoToRa

+0

@RoToRa đó là ngữ nghĩa hơn một chút, tôi cần sử dụng thực thể vì tôi đang thực hiện regex thay thế bằng chuỗi trong đó và vì $ 1 tham chiếu đến kết hợp có thể tìm thấy trong regex nó sẽ chuyển đổi $ \ d thành 0. Nhưng sự hỗ trợ cho các thực thể số trong các máy khách thường thấp hơn các thực thể được đặt tên mà tôi thấy điều này rất tò mò. – sg3s

+0

Tôi không thấy lý do tại sao một người sẽ cần phải sử dụng một thực thể vì các biểu thức chính quy. Bạn có thể đưa ra một số mã cụ thể cho thấy vấn đề của bạn không? – RoToRa

Trả lời

4

Các official list of entities không liệt kê nó, vì vậy tôi muốn nộp nó dưới “một số trình duyệt có thể đã có sự hỗ trợ cho nó, không phụ thuộc vào nó, mặc dù.”

Nói chung, các thực thể là cần thiết để đại diện cho các ký tự không phải ASCII khi bộ ký tự tài liệu bị giới hạn bởi ASCII. Ngày nay với UTF-8, ký tự thường xuyên nhất được đặt trên web, tôi nghĩ cuối cùng chúng ta có thể di chuyển qua các thực thể có tên và chỉ sử dụng các ký tự một cách trực tiếp.

0

Giải pháp duy nhất là sử dụng preg_quote() khi sử dụng đầu vào cho cụm từ thông dụng. Nếu không, bạn cần phải sử dụng html-enities cho. \ + *? [^] $() {} =! <> | : - quá.

+0

Tôi biết cách thoát chuỗi để sử dụng trong cụm từ thông dụng. Đó không phải là câu hỏi của tôi. – sg3s

Các vấn đề liên quan