2010-08-13 7 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>'; 

ответ

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 

Это может быть, что это не будет работать с юникод строками, но это работает с юникод строками в:

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

+0

Спасибо, я обновил свой ответ. – jigfox

+0

+1 для полноты. –

2

Просто для полноты, используйте mb_strtoupper, если вы используете что-нибудь кроме ASCII символов.

strtoupper зависит от региона и, как таковой, может иметь разные результаты в разных машинах. Фактически, он может иметь разные результаты для символов ASCII.