2012-09-13 15 views
8

कुछ अजीब कारणों से, echo "\n"; और अन्य स्कैप अनुक्रम वर्ण डालने के लिए मेरे लिए काम नहीं कर रहे हैं, इसलिए मैं केवल <br /> का उपयोग कर रहा हूं।PHP में नई लाइन (" n") काम नहीं कर रही है

किताबों और अन्य दस्तावेजों में उदाहरणों के परिणामों की छवियां ठीक दिखती हैं। मैं वर्तमान में एक्सएएमपीपी का उपयोग कर रहा हूं और उसी वास्तविक परिणाम के साथ पहले से ही WAMPP का उपयोग कर रहा हूं। ऐसा क्यों है?

संपादित करें:

ऐसा लगता है कि मैं इस के साथ अपने जवाब तुलना करने के बाद अवधारणा को समझ में नहीं कर सकते हैं: PHP Linefeeds (\n) Not Working

संपादित करें:

क्षमा करें मैंने महसूस नहीं किया था कि ऊपर दिया गया लिंक है एक फ़ाइल में एक PHP कोड लेखन का जिक्र है। मुझे आश्चर्य है कि मेरे पास इन कुछ php नमूना प्रोग्राम क्यों हैं जो \ n का उपयोग करते हैं, भले ही यह किसी वेबपृष्ठ में आउटपुट हो। सबको धन्यवाद।

+10

आप HTML outputting रहे हैं, और HTML में, "\ n" क्योंकि सफेद जगह के रूप में माना जाता है? – andrewsi

+0

मैं जोर देना चाहता हूं कि मैं डबल कोट्स का उपयोग कर रहा हूं और वे PHP कोड में एम्बेडेड हैं। मेरे द्वारा उपयोग किया जाने वाला फ़ाइल एक्सटेंशन .php है। – Arman

+1

एचटीएमएल में, एक नई लाइन को केवल ऐसे संदर्भ में माना जाता है जहां 'व्हाइट-स्पेस: प्री' या समान (' pre' तत्व की डिफ़ॉल्ट शैली/व्यवहार)। अन्य HTML संदर्भों में, एक नई लाइन को सफेद स्थान के रूप में माना जाता है। – ACJ

उत्तर

19

उपयोग कर सकते हैं की जरूरत है ब्राउज़र में एक PHP स्क्रिप्ट, इसे डिफ़ॉल्ट रूप से HTML के रूप में प्रस्तुत किया जाएगा। यदि पुस्तकें ’ अन्यथा शो का उपयोग कर फिर से हैं, तो या तो कोड या चित्र गलत है। ब्राउजर को क्या भेजा गया था यह देखने के लिए आप “ स्रोत स्रोत ” देख सकते हैं और आप ’ देखेंगे कि आपकी लाइन फ़ीड्स मौजूद हैं।

<?php 
header('Content-type: text/plain'); 
echo "Line 1\nLine 2"; 
?> 

हो जाएगा ताकि उत्पादन:

Line 1 Line 2 

आप अपने ब्राउज़र में सादे पाठ भेजने की जरूरत है, तो आप की तरह कुछ का उपयोग कर सकते हैं:

<?php 
echo "Line 1\nLine 2"; 
?> 

इस रूप में आपके ब्राउज़र में प्रस्तुत करना होगा:

Line 1 
Line 2 

PHP Linefeeds (\n) Not Working ब्राउज़र के बजाय फ़ाइल पर आउटपुट भेजने का जिक्र कर रहा है।

+0

ब्राउज़र आउटपुट की बजाय एक फ़ाइल। बस! – Arman

+0

मुझे लगता है कि आपकी समस्या ठीक हो गई है? – Herbert

+0

हां, यह उस पोस्ट के बारे में सिर्फ एक गलतफहमी है, मुझे लगता है। धन्यवाद। – Arman

2

<br /> नई लाइन के लिए HTML टैग है, जबकि "\ n" एक नई लाइन (वास्तविक के लिए) आउटपुट करना है।

प्रत्येक बार HTML फ़ाइल अगली पंक्ति में जाने पर ब्राउज़र एक नई लाइन आउटपुट नहीं करता है।

3

आपको nl2br() की तलाश करनी चाहिए। यह आपके आउटपुट में लाइन ब्रेक (<br>) जोड़ देगा जो ब्राउज़र द्वारा प्रदान किया जाएगा; न्यूलाइन नहीं हैं।

1

आप nl2br फ़ंक्शन का उपयोग परिवर्तित करने के लिए \n<br>

के रूप में कहा से पहले, एचटीएमएल नई लाइन के रूप में \n प्रस्तुत नहीं होता कर सकते हैं। यह केवल <br> एचटीएमएल टैग

2

echo "\n" शायद काम कर रहा है, बस जिस तरह से आप इसकी उम्मीद करते हैं।

वह आदेश एक नया लाइन वर्ण डालेगा। इसकी आवाज़ से, आप अपने आउटपुट को देखने के लिए ब्राउज़र का उपयोग कर रहे हैं। ध्यान दें कि यदि आप एक HTML फ़ाइल है कि एक शरीर सामग्री की तरह देखा था लिखा है:

<p>This 
is 
a 
test </p> 

ब्राउज़र को रेंडरिंग नई लाइनें शामिल नहीं होगा, और बदले सिर्फ दिखाना चाहते

हैं "यह एक परीक्षण है" आप न्यूलाइन देखना चाहते हैं, आप स्रोत देख सकते हैं, और आप देखेंगे कि स्रोत कोड में नई लाइनें शामिल हैं।

अंगूठे का नियम है कि यदि आप एक ब्राउज़र में नई लाइनों की जरूरत है, तो आप (जैसे <br />) HTML का उपयोग करने, जबकि यदि आप इसे सादे पाठ में चाहते हैं, आप जब आप चलाने \n

0

आप HTML के साथ काम कर रहे हैं (उदाहरण के लिए ब्राउज़र में परिणाम को देखने) आप लाइनब्रेक के एचटीएमएल जिस तरह है उपयोग करने के लिए: <br>

संबंधित मुद्दे