2012-12-10 5 views
10

का उपयोग कर UPPERCASE टेक्स्ट को शीर्षक केस में परिवर्तित करने के लिए कैसे करें यदि आप इसे पढ़ रहे हैं तो शायद आपने देखा होगा कि सीएसएस संपत्ति text-transform:capitalize; इस में इसे परिवर्तित नहीं करती है। इसके बजाए, गैर प्रारंभिक वर्ण पूंजीकृत रहते हैं, इसलिए इस मामले में परिवर्तन का कोई प्रभाव नहीं पड़ता है। तो हम इस परिणाम को कैसे प्राप्त कर सकते हैं?सीएसएस

मैंने इसे अक्सर पूछा है और अधिकांश उत्तरों जावास्क्रिप्ट का उपयोग करके इसे बढ़ावा देने के लिए त्वरित हैं। यह काम करेगा, लेकिन अगर आप वर्डप्रेस, ड्रूपल या जूमला जैसे PHP सीएमएस के लिए टेम्पलेट/थीम लिख रहे हैं या अनुकूलित कर रहे हैं तो यह अनावश्यक है।

उत्तर

9

बुरी खबर यह है कि text-transform : title-case जैसी कोई चीज़ नहीं है जो परिणाम को शीर्षक के आधार पर गारंटी देगी। अच्छी खबर यह है कि ऐसा करने का एक तरीका है, जिसके लिए जावास्क्रिप्ट की आवश्यकता नहीं है (जैसा कि अक्सर इस स्थिति के लिए सुझाया जाता है)। यदि आप सीएमएस के लिए थीम लिख रहे हैं तो आप प्रासंगिक टेक्स्ट को शीर्षक केस में बदलने के लिए स्ट्रेटोवर() और ucwords() का उपयोग कर सकते हैं।

पहले

(यह काम नहीं करता):

<style> 
.title-case{ text-transform:capitalize; } 
</style> 
<span class="title-case">ORIGINAL TEXT</span> 

के बाद:

<?php echo ucwords(strtolower('ORIGINAL TEXT')); ?> 

आप एक विषय में लिख रहे हैं, तो आप शायद, पाठ स्ट्रिंग्स के बजाय चर के साथ काम करेंगे लेकिन समारोह और अवधारणा एक ही तरह से काम करते हैं।

<?php 
$title = get_the_title(); 
$title = strtolower($title); 
$title = ucwords($title); 
<h1> 
<?php echo $title; 
</h1> 
?> 

आशा इस कोई मदद करता है: यहाँ देशी Wordpress समारोह get_the_title() का उपयोग कर एक चर के रूप में पृष्ठ का शीर्षक वापस जाने के लिए एक उदाहरण है। हैप्पी कोडिंग

+0

अरे, [ 'ucwords'] (http://php.net/ucwords)। – Charles

+0

अच्छा। उसे बदल दिया। – emersonthis

+1

'ucwords' अपने आप पर पर्याप्त नहीं है, आपको स्ट्रिंग को पहले कम मामले में बदलना होगा। 'ucwords (strtolower ('मूल पाठ'));' – tungd

-5

तुम बस लिखने text-transform: none;

+1

यदि आपका इनपुट टेक्स्ट अपरकेस है तो यह काम नहीं करेगा। – disinfor

+1

शीर्षक शीर्षक का कोई मतलब नहीं है।शीर्षक केस का अर्थ है अपरकेस में प्रत्येक शब्द का पहला अक्षर, बाकी आराम करें। ओपी 'पूंजीकरण' की तलाश में है। –

+0

@EduardLuca यह शीर्षक शीर्षक का अर्थ नहीं है: http://www.grammar-monster.com/lessons/capital_letters_title_case.htm (मैं मानता हूं कि यह उत्तर काम नहीं करेगा) – Gus

-4

यह एक सरल नियम के साथ प्राप्त किया जा सकता है: कुछ डिग्री करने के

text-transform: capitalize; 
+1

यह काम नहीं करता है। – Restuta

+0

कृपया अपना उपयोग-केस परिदृश्य प्रस्तुत करें। मैंने इसे आसानी से काम करने के लिए पाया है। –

+0

@EmmanuelBuckshi आपके द्वारा सुझाए गए तरीके में, दूसरा नियम पहले ओवरराइट करेगा, जैसा कि आप इंगित करते हैं, एक-दूसरे पर निर्माण नहीं करते हैं। आप कहते हैं कि यह आपके लिए काम करता है - क्या आप अपना कामकाजी उपयोग केस पेश कर सकते हैं? –

10

आप छद्म वर्ग :: पहले अक्षर का उपयोग कर सीएसएस के साथ इस लक्ष्य को हासिल कर सकते हैं और सभी काम करना चाहिए आईई 5.5 के लिए रास्ता :-(

नोट: यह आपकी एचटीएमएल संरचना पर बहुत निर्भर है, और सभी मामलों में काम नहीं करेगा, लेकिन समय-समय पर उपयोगी हो सकता है। देखने के लिए "रन कोड स्निपेट" दबाएं नीचे परिणाम।

.progTitle { 
 
    text-transform: lowercase; 
 
} 
 

 
.progTitle::first-letter { 
 
    text-transform: uppercase; 
 
}
<p class="progTitle">THIS IS SOME TEST TEXT IN UPPERCASE THAT WILL WORK. </p> 
 
<p class="progTitle">this is some test text in lowercase that will work. </p> 
 
<p class="progTitle"><i class="fa fa-bars"></i> THIS WILL NOT WORK </p>

+0

को आजमाने और हल करने के लिए दिलचस्प लगता है उत्कृष्ट विचार, शानदार ... एक आकर्षण की तरह काम किया –

+2

यह आपको पाठ की पहली वाक्य के लिए उचित पूंजीकरण प्राप्त कर सकता है, लेकिन शीर्षक प्राप्त नहीं करता है मामला 'कौन होगा' यह अपरकेस में कुछ टेस्ट टेक्स्ट है जो काम करेगा "(चाहे कुछ 'पूंजीकरण करना है या नहीं' स्वाद/निर्णय का मामला है) – Gus

+0

हाय @ गुस आप सही हैं, यह जवाब आपको वाक्य का मामला देगा शीर्षक का मामला नहीं। मूल प्रश्न में कोई उल्लेख नहीं था, जिसे प्राथमिकता दी गई थी, इसलिए मैंने मूल जवाब में चेतावनी क्यों दी। यह शायद जेएस समाधान की तुलना में कम संसाधन निर्भर है, लेकिन सभी उपयोग-मामलों के लिए उपयुक्त नहीं है। – BMac

0

यहाँ एक जूमला 1.5.22 Virtuemart 1. चल वेबसाइट में एक काम उदाहरण उद्देश्य एक स्ट्रिंग जो मूल रूप से अपरकेस है लेते हैं, और उचित केस में बदलने के लिए है।

अपरकेस:

<?php echo $list[$i]->name; ?> 

उचित मामला:

<?php echo ucwords(strtolower($list[$i]->name)); ?>