2010-08-13 194 views
3

对于下面的代码,即使它们包含小写字母,我怎样才能使$row["title"]$row["displayurl"]以大写字母显示?大写小写字母

echo '<td class="sitename1"><a href="http://www.'.$row["url"].'" TARGET="_blank">'.$row["title"].'</a> <div class="dispurl">'.$row["displayurl"].'</div></td>'; 

回答

3

在CSS:

text-transform: uppercase 

在PHP中:

string strtoupper (string $string) 
0

strtoupper(),使您的线路是这样的:

echo '<td class="sitename1"><a href="http://www.'.$row["url"].'" TARGET="_blank">'.strtoupper($row["title"]).'</a> <div class="dispurl">'.strtoupper($row["displayurl"]).'</div></td>'; 
14

这取决于你的意思是“善用”

strtoupper("lowercase srting"); // => LOWERCASE STRING 
ucfirst("lowercase string"); // => Lowercase string 
ucwords("lowercase string"); // => Lowercase String 

这可能是因为这不会与Unicode字符串的工作,但这个作品使用Unicode字符串:

mb_convert_case("lowercase string", MB_CASE_TITLE, "UTF-8"); 
// => Lowercase String 
// be aware: 
mb_convert_case("UPPERCASE STRING", MB_CASE_TITLE, "UTF-8"); 
// => Uppercase String 

mb_convert_case("lowercase string", MB_CASE_UPPER, "UTF-8"); 
// => LOWERCASE STRING 

没有为ucfirst与多字节字符没有直接的方法。 PHP-Reference

你也可以做到这一点在CSS:

td.sitename1 a, td.sitename1 div { 
    text-transform: uppercase; 
} /* Will make 'UPPERCASE STRING' */ 

td.sitename1 a, td.sitename1 div { 
    text-transform: capitalize; 
} /* Will make 'Capitalized String' */ 
+1

'MB_CASE_TITLE'不是直接类似于'ucwords',因为它将小写字母不是第一个字,而'ucwords'不会。 – Artefacto 2010-08-13 09:23:32

+0

谢谢,我已经更新了我的答案。 – jigfox 2010-08-13 09:25:49

+0

+1以确保完整性。 – 2010-08-13 09:31:05

2

只是为了保持完整性,如果您使用的是ASCII字符以外的任何使用mb_strtoupper

strtoupper是语言环境相关的,因此在不同的机器上可能会有不同的结果。实际上,它甚至可以对ASCII字符有不同的结果。