Cách thoát thẻ <và> bên trong thẻ <pre>


88

Tôi đang cố gắng viết một bài đăng trên blog bao gồm một đoạn mã bên trong <pre>thẻ. Đoạn mã bao gồm một kiểu chung và sử dụng <>để xác định kiểu đó. Đây là những gì phân đoạn trông như thế này:

<pre>
    PrimeCalc calc = new PrimeCalc();
    Func<int, int> del = calc.GetNextPrime;
</pre>

HTML kết quả sẽ xóa <>và kết thúc như thế này:

PrimeCalc calc = new PrimeCalc();
Func del = calc.GetNextPrime;

Làm cách nào để thoát khỏi lỗi <>để chúng hiển thị trong HTML?


3
&lt;&gt;
Alan Dong

Bạn chỉ có thể sử dụng một công cụ định dạng trực tuyến: freeformatter.com/html-escape.html
kaore

Câu trả lời:


111
<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>

17
Tôi cảm thấy thật tệ khi vẫn chưa có công nghệ nào được giới thiệu cho việc này.
Sathish Kumar kk

Tất nhiên, dấu và cũng là thứ cần được trích dẫn trong cùng ngữ cảnh với dấu ngoặc nhọn, vì vậy tôi không chắc việc sử dụng '&' nếu '<' và '>' cần các thực thể html.
Astara

21
<pre>&gt;</pre>

hiển thị dưới dạng:

>

Vậy bạn muốn:

<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>

hóa ra như:

    PrimeCalc calc = new PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;




2

Những gì rp đã nói , chỉ cần thay thế các ký hiệu lớn hơn (>) và nhỏ hơn (<) bằng thực thể html tương đương của chúng. Đây là một ví dụ:

<pre>
    PrimeCalc calc = new PrimeCalc();
    Func&lt;int, int&gt; del = calc.GetNextPrime;
</pre>

Điều này sẽ xuất hiện dưới dạng (lần này sử dụng giống hệt nhau mà không có dấu cách thêm vào trước để đánh dấu):

    PrimeCalc calc = new PrimeCalc ();
    Func <int, int> del = calc.GetNextPrime;

-1

Nó có thể là một cái gì đó cụ thể cho phần mềm blog của bạn, nhưng bạn có thể muốn thử các chuỗi sau (loại bỏ ký tự gạch dưới): & _lt; & _gt;


-4

Một cách tốt hơn để làm là không phải lo lắng về các mã ký tự. Chỉ cần bọc tất cả mã của bạn bên trong các <pre>thẻ bằng những thứ sau

<pre>
${fn:escapeXml('
  <!-- all your code -->
')};
</pre>

Bạn sẽ cần phải kích hoạt jQuery để nó hoạt động, tho.


1
Điều này không tốt hơn. Sau đó, bạn sẽ cần phải thoát nội dung của mình cho JavaScript. Trong một số trường hợp, vẫn có thể thoát khỏi JavaScript. Ví dụ, nếu nội dung có </pre>trong đó thì sao?
Brad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.