सादे पाठ के रूप में HTML टैग कैसे प्रदर्शित करें


211

मेरी वेबसाइट पर मेरा एक इनपुट फॉर्म है जहां HTML की अनुमति है और मैं HTML टैग के उपयोग के बारे में निर्देश जोड़ने का प्रयास कर रहा हूं। मुझे पाठ पसंद है

<strong>Look just like this line - so then know how to type it</strong>

लेकिन अभी तक मुझे केवल इतना ही मिला है:

बस इस पंक्ति को देखें - तो इसे टाइप करना जानते हैं

मैं टैग कैसे दिखा सकता हूं ताकि लोग जान सकें कि क्या टाइप करना है?

जवाबों:


296

बदलें <के साथ &lt;और >साथ &gt;


6
तकनीकी रूप से आपको केवल <by & lt को प्रतिस्थापित करना होगा; अधिकांश ब्राउज़रों द्वारा इसे पहचाना जाना चाहिए, लेकिन & gt; अच्छा अभ्यास है
culenpoole

8
@Darm -1 htmlspecialchars () का उल्लेख नहीं करने के लिए। अगर इसका कोई औचित्य है तो कृपया मुझे सही करें :)
रोनेन नेस

7
यदि प्रश्न के पाठ को PHP द्वारा उत्पन्न किया जाना था, तो htmlspecialchars () वही करता है जो यह उत्तर बताता है: अपने HTML संस्थाओं के साथ कम-से-अधिक और अधिक-से-अधिक संकेत (और अन्य) बदलें । लेकिन सवाल निर्दिष्ट नहीं करता है, इसलिए यह अधिक सामान्य उत्तर सभी PHP- विशिष्ट उत्तरों का एक सुपरसेट है। और सवाल वास्तव में HTML के बारे में है।
संभालें

अन्य टिप्पणियों के विपरीत यह उत्तर मुझे 100% बचाता है, मेरे द्वारा यहां दिए गए कुछ उत्तर कहेंगे कि बस php और इको का उपयोग करें "<? // like this?>"? लेकिन यह अभी भी नहीं दिखा रहा है कि मदद नहीं की। दूसरी ओर यह उत्तर मुझे कुल 17 पात्रों को बचाता है @ हैण्डल ने एक बिंदु दिया है ताकि वोट दिया जा सके।
आलिया


55

जैसा कि कई अन्य लोगों ने कहा है, htmlentities()चाल चलेगा ... लेकिन यह बकवास की तरह दिखेगा।

इसे एक <pre>टैग के साथ लपेटें और आप अपने इंडेंटेशन को संरक्षित करेंगे।

echo '<pre>';
echo htmlspecialchars($YOUR_HTML);
echo '</pre>';

36

आपको उपयोग करना चाहिए htmlspecialchars। यह नीचे के रूप में वर्णों को प्रतिस्थापित करता है:

  • 'और' (एम्परसेंड) बन जाता है &amp;
  • &quot;ENT_NOQUOTES सेट नहीं होने पर '' '(दोहरा उद्धरण) बन जाता है।
  • "'" (एकल उद्धरण) &#039;केवल तभी हो जाता है जब ENT_QUOTES सेट किया जाता है।
  • '<' (इससे कम) हो जाता है &lt;
  • '>' (इससे बड़ा) बन जाता है &gt;

13

आप htmlspecialchars () का उपयोग कर सकते हैं

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>


5

ब्राउज़र के भीतर HTML टैग प्रदर्शित करने के लिए, आउटपुट को <xmp> और </ xmp> टैग से घेरें


4
<xmp> अब अप्रचलित है, केवल पदावनत से अधिक। इसका उपयोग न करें।
मुहम्मद अब्दुल-रहीम

W3C पर एक त्वरित Google खोज से पता चलता है कि HTML 3.2 और इससे पहले के HTML में पूर्वनिर्मित पाठ प्रदर्शित करने के लिए XMP की शुरुआत की गई थी। जब W3C ने XMP टैग को हटा दिया, तो उसने PRE टैग को पसंदीदा विकल्प के रूप में उपयोग करने का सुझाव दिया। अपडेट: w3.org/TR/REC-html32#xmp , w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1 शेयर फॉलो फॉलो फ्लैग
kophygiddie

3

ब्राउज़र में गूंजते समय आप htmlentities का उपयोग कर सकते हैं, यह html व्याख्या करने के बजाय टैग दिखाएगा।

यहां देखें http://uk3.php.net/manual/en/function.htmlentities.php

उदाहरण:

 echo htmlentities("<strong>Look just like this line - so then know how to type it</strong>"); 

आउटपुट:

<strong>Look just like this line - so then know how to type it</strong>

1

HTML के रूप में प्रदर्शित होने वाले वर्णों को परिवर्तित करने के लिए htmlentities () का उपयोग करें ।


0

एक और तरीका है ...

header('Content-Type: text/plain; charset=utf-8');

यह पूरे पृष्ठ को सादे पाठ के रूप में प्रस्तुत करता है ... बेहतर htmlspecialchars है ...

उम्मीद है की यह मदद करेगा...


0

देशी जावास्क्रिप्ट दृष्टिकोण -

('<strong>Look just like ...</strong>').replace(/</ig, '&lt;').replace(/>/ig, '&gt;');

का आनंद लें!


1
इस पोस्ट में जावास्क्रिप्ट को टैग नहीं किया गया है।
इशरवुड

1
धन्यवाद। यह मेरे लिए उपयोगी है।
खांग दीन्ह होंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.