রহস্যজনক সাদা জায়গায় কেন টেক্সারিয়া পূর্ণ?


292

আমার কাছে একটি ফর্মটিতে একটি সাধারণ পাঠ্য অঞ্চল রয়েছে:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
    <?php if($siteLink_val) echo $siteLink_val; ?> 
</textarea>

আমি এই টেক্সেরিয়ায় অতিরিক্ত সাদা স্থান পাচ্ছি । আমি যখন এটিতে ট্যাব করব তখন আমার কার্সারটি পাঠের মাঝখানে এবং শুরুতে নয়? এর ব্যাখ্যা কী?

উত্তর:


484

আপনার কোডটি নিবিড়ভাবে দেখুন। এটিতে ইতিমধ্যে তিনটি লাইন ব্রেক এবং এর আগে এক টন সাদা জায়গা রয়েছে </textarea>। প্রথমে সেগুলি সরিয়ে ফেলুন যাতে আর কোনও ট্যাগের মধ্যে লাইন ব্রেক না থাকে। এটি ইতিমধ্যে কৌশলটি করতে পারে।


4
@ user79685 আপনি স্বাগত জানাই। উপরে আমার নতুন মন্তব্য পড়ুন, আমি আপনাকে সত্যিই উপহাস করছি না। কমপক্ষে কোনও গড় পথে নয় :)
পেক্কা

9
মুম, আমি এর সাথে একমত নই। অনলাইন আলোচনায় আমি কৌশল এবং শিষ্টাচারের জন্য খুব বেশি, এবং আমি এসও-তে সামগ্রিকভাবে বন্ধুত্বপূর্ণ সুর উপভোগ করি। অন্যদিকে, নেট ঘুরে বেড়ানোর সময় কাউকে কিছুটা ত্বক বিকাশ করা দরকার, এটি সত্য।
পেক্কা

2
খুব সুন্দর. আমিও এই সমস্যার মুখোমুখি হয়েছি এবং টেক্সটটি ছাঁটাই করা থেকে 'টেক্সট-সূচক' বৈশিষ্ট্য প্রয়োগ করতে (সিএসএস ব্যবহার করে) :- ডি :- ডি-তে চেষ্টা করেছি। (আমি কতটা নিরীহ). সমস্যাটি ঘটেছে কারণ আমি এইচটিএমএল কোডটি লিখেছিলাম: -? ... ধন্যবাদ, আপনার উত্তরটি আমাকেও সহায়তা করেছিল .. :-)
গৌরব শর্মা

3
এছাড়াও, valueট্যাগগুলির মধ্যে পাঠ্য যুক্ত করার পরিবর্তে বৈশিষ্ট্যটি ব্যবহার করুন ।
জোও কুনহা

2
বয়স্ক কিন্তু গুডি ie এটি আজ আমাকে সাহায্য করেছে। @ পেক্কা আপনি দুর্দান্ত!
ওয়ার্ডম্যান

73

ওয়েল, মধ্যবর্তী সবকিছুর <textarea>এবং </textarea>আপনার পাঠ্য এলাকা বক্স জন্য ডিফল্ট মান হিসেবে ব্যবহৃত হয়। আপনার উদাহরণে কিছু সাদা জায়গা রয়েছে। এই সমস্ত অপসারণ করার চেষ্টা করুন।


4
অনেক ধন্যবাদ. আমি বুঝতে পারি নি যে এর মধ্যে থাকা সমস্ত কিছুই ডিফল্ট। আমি শীর্ষ লোকটিকে বেছে নিয়েছি কারণ তিনি আমাকে উপহাস করেছেন যদিও তিনি প্রথমে এর উত্তর দিয়েছিলেন। লোকেদের খুঁজে বের করার জন্য ধন্যবাদ।
আফমী

2
ইহা সাধারণ. অনেক ধন্যবাদ!
সেরজিও বেলভস্কিজে

56

ওপেন (এবং বন্ধ!) আপনার পিএইচপি ট্যাগ পরে এবং আগে আপনার textareaট্যাগ:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php
  if($siteLink_val) echo $siteLink_val;
?></textarea>

4
এই ক্ষেত্রে ইন্ডেন্টেশন রাখার জন্য এটি একটি চতুর উপায়। ধন্যবাদ!
সেবাস্তিয়ানব

এটি অবশেষে আমার সমস্যাটি স্থির করেছে। অনেক অনেক ধন্যবাদ বার্ট
স্টিফেন কেনেডি

32

সংক্ষেপে: <textarea>একই লাইনে যেখানে এটি শুরু হয়েছিল ততক্ষণে বন্ধ করা উচিত closed


সাধারণ অনুশীলন: এটি কোডে ইনডেন্টেশনের জন্য ব্যবহৃত লাইন ব্রেক এবং স্পেস যুক্ত করবে।

<textarea id="sitelink" name="sitelink">
</textarea>

সঠিক অনুশীলন

<textarea id="sitelink" name="sitelink"></textarea>

আমার সমস্যার সমাধান।
এস এম_এমামিয়ান

এটি আমার জন্যও সঠিক সমাধান ছিল
শেল্ডন আর

আমার সমস্যার সমাধান, দুর্দান্ত সমাধান। ধন্যবাদ
হুসেইন শাব্বির

এই জন্য সরাসরি ধন্যবাদ পয়েন্ট উত্তর স্যার।
exe

26

মূলত এটি হওয়া উচিত

<textarea>something here with no spaces in the begining</textarea>

কিছু পূর্বনির্ধারিত স্পেস থাকলে নীচের মতো কোড ফর্ম্যাটিংয়ের কারণে বলতে পারি lets

<textarea>.......
....some_variable
</textarea>

বিন্দু দ্বারা প্রদর্শিত ফাঁকা স্থানগুলি প্রতিটি জমা দেওয়ার সময় যোগ করে।


এটি একটি পুরানো "কৌশল", এমনকি কখনও কখনও ভুলেও যায়। এটি ইতিমধ্যে
আই 6/7 এ

আমার দিন বাঁচিয়েছে ধন্যবাদ!
রিবেইরো

এটি ঠিক কাজ করে, তবে এটি সত্যিই মজার। এই অদ্ভুত বাগ সম্পর্কে কোন ব্যাখ্যা?
আমিনু কানো

11

টেক্সারিয়া খোলার এবং সমাপনী ট্যাগগুলির মধ্যে যে কোনও স্থানকে হোয়াইটস্পেস হিসাবে বিবেচনা করা হবে। সুতরাং আপনার উপরের কোডের জন্য সঠিক উপায়টি হ'ল:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>

7

চারপাশে আরেকটি কাজ হ'ল জাভাস্ক্রিপ্ট ব্যবহার করা:

//jquery
$('textarea#someid').html($('textarea#someid').html().trim());

//without jquery
document.getElementById('someid').innerHTML = document.getElementById('someid').innerHTML.trim();

এটাই আমি করেছি। কোডে সাদা-ফাঁকা স্থান এবং লাইন-ব্রেকগুলি সরিয়ে লাইনটি দীর্ঘায়িত করে।


5

এটিকে কিছুটা পরিষ্কার দেখানোর জন্য, টার্নারি অপারেটরটি ব্যবহার করে বিবেচনা করুন:

<textarea><?=( $siteLink_val ? $siteLink_val : '' );?></textarea>

2
সংক্ষিপ্ত ট্যাগ ব্যবহার করবেন না, অন্যকে এটি করার পরামর্শ দিবেন না। এটি কোনও আলাদা কনফিগারেশনের মাধ্যমে কোনও প্রোডাকশন সার্ভারে কিছু ওয়েব অ্যাপ লাগানোর সময় পিআইটিএ এড়াতে লোককে সহায়তা করবে। ধন্যবাদ.
আলফাব্রাভো

4
আমি সবসময় সংক্ষিপ্ত ট্যাগগুলি টেমপ্লেটিং পরিস্থিতিতে দৃ scen়ভাবে ব্যবহার করি কারণ আমি আরও বেশি লোক তাদের ব্যবহার করতে চাই এবং এইভাবে পিএইচপি সম্প্রদায়কে তাদের সমর্থন অব্যাহত রাখতে উত্সাহিত করে। এটি বলেছিল, সংক্ষিপ্ত ট্যাগগুলি কেবলমাত্র টেম্প্লেটিং পরিস্থিতিতেই প্রয়োগ করা উচিত, অ্যাপ্লিকেশন যুক্তিতে কখনও নয় এবং স্পষ্টতই, সার্ভার যখন তাদের সমর্থন করে কেবল তখনই। মোছার আগে সর্বদা আপনার উত্পাদন পরিবেশ জানুন know (স্বভাবতই, এটি সংক্ষিপ্ত ট্যাগগুলির পক্ষে ও কুফলগুলি নিয়ে আলোচনা করার জায়গা নয়, তবে আপনি এটি এনেছিলেন, তাই এটিই আমার ন্যায়সঙ্গত))
ব্রায়ান ল্যাসি

4
<textarea style="width:350px; 
 height:80px;" cols="42" rows="5" name="sitelink"
 ><?php if($siteLink_val) echo $siteLink_val; ?></textarea> 

চলন্ত ...> ডাউন আমার পক্ষে কাজ করে।


4

আমি একই সমস্যা পেয়েছি, এবং সমাধানটি খুব সহজ: একটি নতুন লাইন শুরু করবেন না! যদিও পূর্বের কয়েকটি উত্তর সমস্যার সমাধান করতে পারে, তবে ধারণাটি পরিষ্কারভাবে বলা হয়নি। গুরুত্বপূর্ণ বুঝতে, অনিচ্ছাকৃত স্পেস পরিত্রাণ পেতে হয়, শুধু আপনার স্টার্ট ট্যাগ পরে একটি নতুন লাইন শুরু করে না।

নিম্নলিখিত উপায়টি ভুল এবং এটি আপনার পাঠ্যের সামগ্রীর আগে প্রচুর অযাচিত স্থান ছেড়ে দেবে:

 <textarea>
    text content // start with a new line will leave a lot of unwanted spaces
 </textarea>

এটি করার সঠিক উপায়:

 <textarea>text content //put text content right after your start tag, no new line
 </textarea>

3

দয়া করে নিশ্চিত করুন যে পরে কোনও লাইন ব্রেক বা স্পেস নেই, এটি কোনও সাদা জায়গা বা ট্যাব নেই তা নিশ্চিত করা, কেবল এই কোডটি অনুলিপি করুন এবং পেস্ট করুন :) আমি আপনার জন্য এটি ঠিক করেছিলাম

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo trim($siteLink_val);?></textarea>

2

তদ্ব্যতীত: টেক্সারিয়া ট্যাগটি মাল্টলাইন কোডে নতুন লাইন, ট্যাব ইত্যাদির জন্য স্পেস দেখায়।


2

ভিতরে কোনও অতিরিক্ত সাদা স্থান ছাড়াই টেক্সেরিয়া কোড রাখুন

তদতিরিক্ত, যদি আপনি অতিরিক্ত ফাঁকা লাইন দেখতে পান তবে মেটা ভাষায় সমাধান রয়েছে:

<textarea>
for line in lines:
echo line.replace('\n','\r')
endfor
</textarea>

এটি অবশ্যই অতিরিক্ত ফাঁকা রেখা ছাড়াই লাইনগুলি প্রিন্ট করবে এটি নির্ভর করে যদি আপনার লাইনগুলি '\ n', '\ r \ n' বা '' দিয়ে শেষ হয় - অনুগ্রহ করে মানিয়ে নিন


2

পাঠ্য অঞ্চলটি রহস্যজনক স্থানগুলি দেখায় কারণ ট্যাগগুলিতে একটি আসল স্থান বিদ্যমান। <textarea> <php? echo $var; ?> </textarea> ট্যাগগুলির মধ্যে এই অতিরিক্ত স্থানগুলি সরিয়ে দেওয়ার পরে সমস্যাটি সমাধান হবে, নীচের মত। <textarea><php? echo $var; ?></textarea>


2

আমার পক্ষে কাজ করা একটি সমাধান white-space: normal;টেক্সারিয়ায় স্টাইল যুক্ত করা হচ্ছে কারণ অনেক সময় সমস্ত শ্বেতস্পেসকে মুছে ফেলা সম্ভব হয় না (উদাহরণস্বরূপ আপনি যখন নিজের কোডটি আপনার কোডিং গাইডলাইন মেনে চলতে চান যার জন্য ট্যাব, সাদা স্থান এবং লাইন ব্রেকগুলি যুক্ত করা দরকার)

অনুগ্রহ করে নোট করুন যে পাঠ্যের জন্য ডিফল্ট, ক্রোমে অন্তত: white-space: pre-wrap;


2

আপনি যদি এখনও ইনডেন্টেশন ব্যবহার করতে চান তবে <?phpট্যাগটি খোলার পরে এটি করুন :

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php // <--- newline
    if($siteLink_val) echo $siteLink_val; // <--- indented, newline
?></textarea>

2

আমি এর দেরী জানি তবে অন্যকে সাহায্য করতে পারে।

ডকুমেন্ট ইনডেন্টেশন প্রয়োজন হলে এটি ব্যবহার করুন।

$('document').ready(function()
{
    $('textarea').each(function(){
            $(this).val($(this).val().trim());
        }
    );
});

একই প্রশ্ন


অথবা আপনি আপনার এইচটিএমএলকে সঠিকভাবে ফর্ম্যাট করতে পারেন। তবে আমি সম্মত নই যে আপনি যদি এর মধ্যে পিএইচপি কোডের মতো কিছু চান তবে কিছু কঠিন হতে পারে। সুতরাং আমি আপনার উত্তর সাথে একমত না।
নীলস লুকাস

1

আমি পিএইচপি কোডের সাথে মিশ্রিত এইচটিএমএল কোডের বিরুদ্ধে

তবে এটি চেষ্টা করুন:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php 
    if($siteLink_val) 
        echo trim($siteLink_val);
?> 
</textarea>

3
প্রায় ... এতে এখনও দুটি নতুন লাইন অন্তর্ভুক্ত।
amarillion

ব্যবহার করা উচিত <textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php এবং ?></textarea>তা নিশ্চিত হওয়া উচিত যে এটি সত্যই খাঁটি। এছাড়াও, আমি জিজ্ঞাসা করতে পারি যে আপনি পিএইচপি সহ HTML এর বিরুদ্ধে কেন?
ফ্লোরোসেন্টগ্রিন 5

1

কেবল আপনার এবং আপনার কাছের ট্যাগটিকে একই লাইনে সংজ্ঞায়িত করুন।

<textarea class="form-control"
          id="newText"
          rows="6"
          placeholder="Your placeholder here..."
          required
          name="newText"></textarea>

0

এছাড়াও, যখন আপনি বলছেন যে কার্সারটি টেক্সারিয়ার "মাঝখানে" রয়েছে, তখন এটি আমার মনে হয় যে আপনি অতিরিক্ত প্যাডিং বা পাঠ্য-সারিবদ্ধ: আপনার সিএসএসে কোথাও সংজ্ঞায়িত কেন্দ্রও রাখতে পারেন


0

প্রথমে নিশ্চিত হয়ে নিন যে আপনার L সাইট লিংক_ওয়াল মান হিসাবে সাদা স্থানটি ফিরিয়ে দিচ্ছে না। ডিফল্টরূপে <textarea> উপাদানটির একটি শূন্য মান রয়েছে সুতরাং আপনি যদি কোনও কারণে ভেরিয়েবলটি প্রতিধ্বনিত করে থাকেন তবে ব্যাটের ডানদিকে আপনার সমস্যা আছে।

কোডটিকে নিখুঁততম পরিষ্কার করতে, আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি এটির মতো কিছু করতে পারেন, পরে আরও কিছু নমনীয়তার জন্য অনুমতি দিন। আমি এমন একটি ফাংশন তৈরি করেছি যা ভেরিয়েবল উপস্থিত না থাকলে (মূল বার্তায় আপনি কী লক্ষ্য করছেন বলে মনে করেন) এবং অন্যথায় পরম মানটি দেয় যদি হয় তবে একটি NUL প্রদান করে। একবার আপনার ভেরিয়েবলের বিষয়বস্তু নিশ্চিত হয়ে গেলে, এটি ব্যবহার করে দেখুন:

function build_siteLink_val() {
     if ( $siteLink_val ) {
          return $siteLink_val;
     }

     else {
          return "";
     }
}

$output_siteLink_val = build_siteLink_val();

এবং আপনার টেক্সেরিয়ায় নিম্নলিখিত কোডগুলি এখন পড়বে:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?=$output_siteLink_val?></textarea>

এটি ধরে নেওয়া হচ্ছে যে আপনার পিএইচপি ইনস্টলটি সংক্ষিপ্ত "<? =?>" ট্যাগগুলিতে যেমন সংক্ষিপ্ত-হাতের চলক কলগুলির জন্য কনফিগার করা আছে। আপনি যদি এইভাবে আউটপুট দিতে না পারেন, তবে আপনার পিএইচপি কোডটি "<? পিএইচপি" দিয়ে প্রফেস করতে এবং "?>" দিয়ে বন্ধ মনে রাখবেন।

<টেক্সটারে </a> এর মধ্যে লাইন বিরতি এড়িয়ে চলুন কারণ এটি ভুল চরিত্রের সম্ভাবনা তৈরি করতে পারে।

এছাড়াও, পাঠ্যের অভ্যন্তরে প্রবেশের প্যাডিং নিয়ম নেই তা নিশ্চিত করার জন্য আপনার সিএসএস পরীক্ষা করে দেখুন।

এছাড়াও, আপনি টেক্সারিয়ায় একটি কলস এবং সারি মান নির্দিষ্ট করে দিন এবং তারপরে একটি প্রস্থ এবং উচ্চতা শৈলী করুন। এই নিয়মগুলি পাল্টা উত্পাদনমূলক এবং এর ফলে বেমানান ভিজ্যুয়াল হবে। হয় স্টাইলের মাধ্যমে আকার নির্ধারণ করে (আমি উপাদানটিকে একটি শ্রেণি দেওয়ার পরামর্শ দিই) বা সারি / কোলগুলি ধরে থাকুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.