Hướng dẫn are there strings in html? - có các chuỗi trong html không?

Tại sao có lẽ không phải là những gì bạn đang tìm kiếm? Tôi nói điều này không làm cho thư viện có vẻ lôi cuốn hơn, nhưng vì HTMLString được thiết kế để giúp với một loạt các vấn đề liên quan đến phát triển trình chỉnh sửa nội dung HTML.HTMLString is designed to help with a niche set of problems related to developing an HTML content editor.

Không giống như hầu hết các trình phân tích cú pháp HTML tạo ra các cấu trúc cây, & nbsp; htmlString tạo ra một chuỗi các ký tự với tập hợp các thẻ riêng. Cấu trúc phẳng này giúp dễ dàng điều khiển các phạm vi (ví dụ - văn bản được chọn bởi người dùng) vì mỗi ký tự độc lập và không dựa vào cấu trúc thẻ phân cấp. Tuy nhiên, điều này có những hạn chế của nó (do đó tuyên bố mở đầu của tôi).HTMLString generates a string of characters each with its own set of tags. This flat structure makes it easy to manipulate ranges (for example - text selected by a user) as each character is independent and doesn't rely on a hierarchical tag structure. This does however have its limitations (hence my opening statement).

Cấu trúc của chuỗi & NBSP; HTMLSTRING & NBSP; được minh họa trong sơ đồ dưới đây:HTMLString string is illustrated in the diagram below:

Hướng dẫn are there strings in html? - có các chuỗi trong html không?

Giới hạn

Như tôi đã đề cập, có một số hạn chế đối với phương pháp này khi đối phó với HTML;

  • Trình phân tích cú pháp được thiết kế để xử lý nội dung có chứa các yếu tố nội tuyến, như một nguyên tắc nhỏ, bất cứ thứ gì hợp lệ bên trong thẻ đoạn văn là an toàn.

    is safe.

  • Trình phân tích cú pháp có thể tối ưu hóa một chuỗi các thẻ xóa HTML có vẻ giống nhau, Forexample:example:
<b>foo <b>bar</b></b>

... trở thành ...

<b>foo bar</b>

Rác trong, rác ra. Máy phân tích cú pháp được thiết kế nhỏ và nhanh. Có lẽ chính xác hơn là một trình phân tích cú pháp thẻ chứ không phải là trình phân tích cú pháp HTML, nó sẽ cố gắng hết sức để phân tích bất cứ thứ gì bạn gửi nhưng cách chắc chắn duy nhất để có được HTML hợp lệ là đưa HTML hợp lệ vào. The parser is designed to be small and fast. It could perhaps more accurately be thought of as a tag parser rather than an HTML parser, it will do its best to parse whatever you send it but the only sure-fire way to get valid HTML out is to put valid HTML in.

Cách sử dụng

Bạn có thể tạo một thể hiện chuỗi bằng văn bản thuần túy hoặc HTML, ví dụ như cả hai câu lệnh này đều hợp lệ:String instance using plain text or HTML, for example both of these statements are valid:

// From plain text
var helloWorld = new HTMLString.String('Hello World');

// From HTML
var helloWorldBold = new HTMLString.String('Hello World');

Đối với hầu hết các chuỗi phần có các phương pháp giống như các chuỗi gốc; Bạn có thể gọi Slice, Concat, Split, Indexof, v.v. - nhưng có một vài điều bạn không thể làm:Strings have the same methods as native strings; you can call slice, concat, split, indexOf, and so on - but there are a few things you can't do:

  • Bạn không thể tham gia với họ bằng toán tử +.+ operator.
  • Tương tự như vậy, toán tử == sẽ so sánh các phiên bản nhưng không nội dung, thay vào đó sử dụng s.text () hoặc s.html ().s.text() or s.html().
  • Phương pháp khớp, thay thế và tìm kiếm không tồn tại., replace and search methods do not exist.

Ngoài ra còn có một vài điều bạn có thể làm với các chuỗi mà bạn không thể làm với các chuỗi gốc:Strings that you can't do with native strings:

  • Có sự hỗ trợ cho một số phương thức chuỗi gốc chưa được tất cả các trình duyệt hỗ trợ; Chứa, Endswith, Startswith, Trim, Trimleft và Trimright.contains, endsWith, startsWith, trim, trimLeft and trimRight.
  • Thuộc tính ký tự là một mảng của tất cả các ký tự tạo nên chuỗi. Điều này cho phép bất kỳ phương thức mảng gốc nào như Splice được sử dụng để sửa đổi các ký tự tại chỗ.characters property is an array of all the characters that make up the String. This allows any native array method like splice to be used to modify the characters in place.
  • Phương thức sao chép sẽ trả về một bản sao sạch của chuỗi (các lớp thẻ và ký tự cũng hỗ trợ phương thức này).copy method will return a clean copy of the String (the Tag and Character classes also support this method).
  • Các phương thức định dạng, Unformat và Hastags cung cấp hỗ trợ cho các phần định dạng của chuỗi với các thẻ.format, unformat and hasTags methods provide support for formatting sections of a String with Tags.
  • Một phương thức tối ưu hóa được cung cấp để tối ưu hóa đầu ra HTML bằng cách đặt hàng các thẻ, bên ngoài đến bên trong, dựa trên số lượng ký tự liên tiếp mà chúng được áp dụng.optimize method is provided to optimize the HTML output by ordering tags, outer to inner, based on the consecutive number of characters they're applied to.
  • Tất cả các phương thức chấp nhận chuỗi là đối số, chẳng hạn như indexof, cho phép các chuỗi gốc hoặc htmlString.String được cung cấp. Trường hợp so sánh được thực hiện, sự khác biệt này là quan trọng. Các chuỗi gốc được so sánh mà không cần xem xét cho định dạng, các chuỗi xem xét định dạng cũng như nội dung.indexOf, allow either native strings or HTMLString.String instances to be provided. Where comparisons are performed, this difference is important. Native strings are compared without consideration for format, Strings consider the format as well as the content.

Định dạng một chuỗi

Định dạng các ký tự trong một chuỗi rất đơn giản, hãy bắt đầu bằng cách tạo một chuỗi không được định dạng và áp dụng một kiểu in nghiêng cho nó:

var quote = new HTMLString.String("My pet dragon is called Burt.");
quote = quote.format(0, -1, new HTMLString.Tag('i'));
console.log(quote.html());

>>> '<i>My pet dragon is called Burt.</i>'

Bây giờ chúng ta hãy tưởng tượng tôi muốn mọi người thực sự chú ý rằng tôi có một con rồng thú cưng và để chứng minh điều đó tôi muốn liên kết với trang Facebook của anh ấy:

// Remove the old formatting first (not specifying any tags indicates we
// want to clear them all).
quote = quote.unformat(0, -1);

// Make the entire string bold
quote = quote.format(0, -1, new HTMLString.Tag('b'));

// Link to Burt's Facebook profile (we can use reverse indexing to
// select 'burt'.
quote = quote.format(-5, -2, new HTMLString.Tag('a', {'href': '...'}));
console.log(quote.html());

>>> '<b>My pet dragon is called <a href="...">Burt</a>.</b>'

Tài liệu tham khảo

Thư viện bao gồm 3 lớp được đặt tên theo HTMLString:HTMLString:

  • HTMLString.String
  • HTMLString.Tag
  • HTMLString.Character

Sợi dây

s = new HtmlString.String (html, bảo tồn không gian = sai)

Tạo một chuỗi mới từ một chuỗi gốc có thể là văn bản đơn giản hoặc chứa HTML. Nếu cờ bảo tồn không gian được đặt thành đúng thì không gian trắng trong chuỗi sẽ được bảo tồn, nếu false & nbsp; không gian trắng sẽ được cắt từ hai đầu của chuỗi và bị sập bên trong nó.String from a native string which can either be plain text or contain HTML. If the preserveWhitespace flag is set to true then white-space within the string will be preserved, if false white-space will be trimmed from either end of the string and collapsed within it.

S.Characters

Danh sách các ký tự trong s.Characters in s.

s.iswhitespace ()

Trả về true nếu s & nbsp; bao gồm hoàn toàn các ký tự khoảng trắng. Hình ảnh (), phá vỡ () và không gian không phá vỡ (& nbsp;) đều được coi là khoảng trắng.true if s consists entirely of whitespace Characters. Images (), breaks (
), and non-breaking spaces ( ) are all considered whitespace.

s.length ()

Trả về độ dài của s trong các ký tự. Để có được độ dài làm chuỗi gốc, hãy sử dụng s.html (). Độ dài.s in Characters. To get the length as a native string use s.html().length.

s.capitalize ()

Trả lại một bản sao của s với nhân vật đầu tiên viết hoa.s with the first Character capitalized.

S.Charat (INDEX)

Trả về một ký tự duy nhất từ ​​s tại index đã cho & nbsp; Nhân vật được trả lại là một bản sao.Character from s at the given index. The Character returned is a copy.

S.concat (chuỗi ..., kế thừa = true)

Kết hợp S với một hoặc nhiều chuỗi và trả về một chuỗi mới. Tùy chọn bạn có thể chỉ định xem các chuỗi có kế thừa định dạng của chuỗi & nbsp; chúng đang được nối với nhau hay không.s with one or more strings and return a new String. Optionally you can specify whether the strings each inherit the format of the string they are being concatenated to.

S.Contains (Subring)

Trả về true nếu s & nbsp; chứa chuỗi con.true if s contains the substring.

S.endswith (Substring)

Trả về true nếu s & nbsp; kết thúc bằng chuỗi con.true if s ends with the substring.

s.format (từ, đến, thẻ ...)

Trả về một bản sao của S & NBSP; với các thẻ được áp dụng cho các ký tự trong phạm vi từ ... đến.s with tags applied to Characters in the range from...to.

s.hastags (thẻ ..., nghiêm ngặt = true)

Trả về true nếu các thẻ được áp dụng cho một số hoặc tất cả các ký tự trong s.true if the tags are applied to some or all characters within s.

s.html ()

Trả về một verion html của s.s.

s.indexof (chuỗi con, từ = 0)

Trả về chỉ số của lần xuất hiện đầu tiên của chuỗi con trong s, -1 được trả về nếu không tìm thấy trận đấu nào. Tùy chọn bạn có thể chỉ định một bù để bắt đầu tìm kiếm từ đó.substring within s, -1 is returned if no match is found. Optionally you can specify an offset to start searching from.

s.insert (index, chuỗi, kế thừa = true)

Trả về một bản sao của S & NBSP; với & nbsp; chuỗi & nbsp; được chèn tại index đã cho & nbsp; index. Tùy chọn bạn có thể chỉ định xem chuỗi & nbsp; kế thừa định dạng của s.s with the specified string inserted at the given index. Optionally you can specify whether the string inherits the format of s.

s.lastindexof (chuỗi con, từ = 0)

Trả về chỉ số của lần xuất hiện cuối cùng của chuỗi con được chỉ định & nbsp; trong s, -1 được trả về nếu không tìm thấy trận đấu nào. Tùy chọn bạn có thể chỉ định một bù để bắt đầu tìm kiếm từ đó.substring within s, -1 is returned if no match is found. Optionally you can specify an offset to start searching from.

s.optimize ()

Tối ưu hóa nội dung của S để các thẻ được xếp chồng lên theo thứ tự độ dài chạy (xem các giới hạn cho một ví dụ).s so that tags are stacked in order of run length (see limitations for an example).

S.Slice (từ, đến)

Trích xuất một phần của s và trả về một chuỗi mới.s and return a new String.

s.split (selectator = '', giới hạn = 0)

Tách S & nbsp; bởi & nbsp; sepectator và trả lại một danh sách các chuỗi con.s by the separator and return a list of sub-strings.

S.StartSwith (Substring)

Trả về true nếu s bắt đầu với & nbsp; subring.true if s starts with the substring.

S.Substr (từ, chiều dài)

Trả về một phần của s từ và từ + chiều dài, nếu độ dài không được chỉ định, phần còn lại của s & nbsp; sẽ được trả về.s between from and from + length, if length isn't specified the remainder of s will be returned.

S.SubString (từ, đến)

Trả về một phần của s giữa từ và đến, nếu không được chỉ định, nó sẽ mặc định theo chiều dài của s.s between from and to, if to isn't specified it will default to the length of s.

S.Text ()

Trả về một phiên bản văn bản của s.s.

S.Tolowercase ()

Trả lại một bản sao của S chuyển đổi thành chữ thường.s converted to lowercase.

s.touppercase ()

Trả lại một bản sao của S được chuyển đổi thành chữ hoa.s converted to uppercase.

s.trim ()

Trả lại một bản sao của s với khoảng trắng được cắt từ cả hai đầu.s with whitespace trimmed from both ends.

s.trimleft ()

Trả lại một bản sao của s với khoảng trắng được cắt từ bên trái.s with whitespace trimmed from the left.

s.trimright ()

Trả lại một bản sao của s với khoảng trắng được cắt từ bên phải.s with whitespace trimmed from the right.

S.Unformat (từ, đến, thẻ ...)

Xóa các thẻ & nbsp; từ một phạm vi (từ, đến) của các ký tự trong s. Chỉ định không có thẻ sẽ xóa tất cả các định dạng khỏi lựa chọn. Danh sách các thẻ được cung cấp có thể là các phiên bản thẻ hoặc tên thẻ. Sử dụng thẻ sẽ có nghĩa là trận đấu được thực hiện trên cả hai thuộc tính và tên của thẻ.tags from a range (from, to) of Characters in s. Specifying no tags will clear all formatting from the selection. The list of tags provided can either be Tag instances or tag names. Using Tags will mean that the match is performed on both a Tag's attributes and name.

s.copy ()

Trả lại một bản sao của s.s.

HtmlString.String.encode (chuỗi)

Trả về một bản sao của bản địa & nbsp; chuỗi & nbsp; với tất cả các ký tự được yêu cầu được mã hóa dưới dạng các thực thể HTML.string with all required characters encoded as HTML entities.

HtmlString.String.decode (chuỗi)

Trả về một bản sao của chuỗi gốc & nbsp; với tất cả các thực thể HTML được giải mã.string with all HTML entities decoded.

HtmlString.String.join (Dấu tách, chuỗi)

Tham gia một danh sách các chuỗi với nhau bằng cách sử dụng chuỗi phân tách và trả về kết quả.strings together using the separator string and return the result.

Nhãn

Tag = new HtmlString.tag (name, Apertain = {})

Tạo một thẻ mới bằng cách sử dụng tên thẻ và thuộc tính đã cho. Các thuộc tính được chỉ định là các cặp khóa/giá trị trong một đối tượng.Tag using the given tag name and attributes. The attributes are specified as key/value pairs in an object.

Tag.head ()

Trả về & nbsp; đầu thẻ (ví dụ).tag's head (e.g

).

Tag.Name ()

Trả lại tên cho thẻ & nbsp;tag.

tag.elfclosing ()

Trả về true nếu thẻ & nbsp; tự đóng.true if the tag is self-closing.

Tag.tail ()

Trả lại & nbsp; đuôi thẻ (ví dụ).tag's tail (e.g

).

Tag.Attr (name, [value])

Nhận/đặt giá trị của thuộc tính được đặt tên cho thẻ & nbsp; Nếu một giá trị được cung cấp thì thuộc tính sẽ được đặt, nếu không giá trị của nó sẽ được trả về.named attribute for the tag. If a value is provided then the attribute will be set, else its value will be returned.

Tag.RemoveDtr (Tên)

Xóa thuộc tính được đặt tên khỏi thẻ & nbsp;named attribute from the tag.

Tag.Copy ()

Trả về một bản sao của thẻ & nbsp; thẻ.tag.

Tính cách

ký tự = new htmlString.character (c, tags = [])

Tạo một ký tự mới, tùy chọn với danh sách các thẻ đã cho.Character, optionally with the given list of tags.

ký tự.c ()

Trả về chuỗi gốc cho ký tự & nbsp;character.

ký tự.isentity ()

Trả về đúng nếu nhân vật & nbsp; là một thực thể.true if the character is an entity.

ký tự.istag (tagname)

Trả về true nếu ký tự & nbsp; đại diện cho một thẻ tự đóng (ví dụ, v.v.), tùy chọn một tên tagname có thể được chỉ định để khớp với.true if the character represents a self-closing tag (e.g
, , etc), optionally a tagName can be specified to match against.

ký tự.iswhitespace ()

Trả về đúng nếu ký tự & nbsp; đại diện cho một ký tự khoảng trắng bao gồm hình ảnh (), breaks () và không gian không phá vỡ (& nbsp;).true if the character represents a whitespace character including images (), breaks (
), and non-breaking spaces ( ).

ký tự.tags ()

Trả lại các thẻ được áp dụng cho nhân vật & nbsp;character.

ký tự.addtags (thẻ ...)

Thêm một hoặc nhiều thẻ vào ký tự & nbsp;tags to the character.

ký tự.eq (OtherCharacter)

Trả về true if & nbsp; otherCharacter bằng với ký tự này. Tất cả các thẻ được áp dụng cho cả hai ký tự cũng phải khớp.true if otherCharacter is equal to this character. All applied tags for both characters must also match.

ký tự.hastags (thẻ ...)

Trả về true nếu tất cả các & nbsp; thẻ & nbsp; được sử dụng để định dạng ký tự & nbsp;true if all the given tags are used to format the character.

ký tự.RemOvetags (thẻ ...)

Xóa một hoặc nhiều thẻ khỏi ký tự & nbsp;tags from the character.

ký tự.copy ()

Trả về một bản sao của nhân vật & nbsp;character.

HTML có dây không?

Không giống như hầu hết các trình phân tích cú pháp HTML tạo ra các cấu trúc cây, HTMLString tạo ra một chuỗi các ký tự với bộ thẻ riêng. Cấu trúc phẳng này giúp dễ dàng điều khiển các phạm vi (ví dụ - văn bản được chọn bởi người dùng) vì mỗi ký tự độc lập và không dựa vào cấu trúc thẻ phân cấp.HTMLString generates a string of characters each with its own set of tags. This flat structure makes it easy to manipulate ranges (for example - text selected by a user) as each character is independent and doesn't rely on a hierarchical tag structure.

Chuỗi trong HTML là gì?

Một chuỗi có thể là bất kỳ văn bản nào bên trong các trích dẫn kép hoặc đơn: Đặt carname1 = "Volvo XC60";Đặt carname2 = 'Volvo XC60';Các chỉ mục chuỗi là dựa trên 0: ký tự đầu tiên ở vị trí 0, thứ hai trong 1, v.v.any text inside double or single quotes: let carName1 = "Volvo XC60"; let carName2 = 'Volvo XC60'; String indexes are zero-based: The first character is in position 0, the second in 1, and so on.

Làm thế nào để bạn thêm một chuỗi trong html?

Sử dụng thuộc tính bên trong: Để sử dụng thuộc tính bên trong, trước tiên hãy chọn phần tử (div) nơi bạn muốn nối bộ mã.Sau đó, thêm mã được đặt kèm theo dưới dạng các chuỗi bằng toán tử += trên InsideHTML.add the code enclosed as strings using the += operator on innerHTML.

Làm thế nào để bạn kiểm tra các chuỗi trong HTML?

Ví dụ 1: Trong ví dụ này, regexp được tạo và nó đang xác thực chuỗi HTML là hợp lệ.|Kiểm tra xem một chuỗi là HTML hay không ...
Nhận chuỗi HTML thành một biến ..
Tạo một regexp kiểm tra xác thực ..
RegEXP nên tuân theo các quy tắc tạo tài liệu HTML ..