Артём Мáлков

Делаем первую букву в строке заглавной на PHP/jQuery/CSS

10 мая0 комм

Зачастую в спешке при добавлении материалов на сайт или, например, создании новой темы на форуме пользователь может начать писать предложение (название) с маленькой (строчной) буквы. Это в какой-то степени является ошибкой.

Я покажу несколько вариантов решения этой задачи: PHP и CSS подойдут больше для уже опубликованных материалов, когда как jQuery сможет исправить положение еще до публикации.

Первая буква строки в верхнем регистре на PHP

На PHP существует функция под названием «ucfirst», которая как раз преобразует первый символ строки в верхний регистр, но минус ее в том, что она не совсем корректно работает с кириллицей.

Для этого мы напишем свою небольшую функцию. Реализация будет выглядеть следующим образом:

<?php

	header("Content-Type: text/html; charset=utf-8");

	function mb_ucfirst($word, $charset = "utf-8") {

		return mb_strtoupper(mb_substr($word, 0, 1, $charset), $charset).mb_substr($word, 1, mb_strlen($word, $charset)-1, $charset);

	}

	$content = "скажи-ка, дядя, ведь не даром Москва, спаленная пожаром, Французу отдана?"; // Исходная строка

	echo mb_ucfirst($content); // Получаем результат с первой заглавной буквой

?> 

В таком варианте мы получим предложение, которое начинается с большой буквы, что, собственно говоря, нам и необходимо.

Первая буква строки в верхнем регистре на CSS

Этот метод визуально (то есть в исходном коде сайта предложения будут выглядеть как есть) также преобразует первый символ в верхний регистр.

Использование следующее:

<div id="content">

	<p>первое предложение</p> 
	<p>второе предложение</p> 
	<p>третье предложение</p> 
	<p>четвертое предложение</p>

</div>

<style>

	#content p:first-letter {
		text-transform: uppercase;
	}

</style> 

С помощью псевдоэлемента «first-letter» и свойства «text-transform» мы задали оформление для каждой первой буквы параграфа.

Первая буква строки в верхнем регистре на jQuery

Как я уже говорил ранее, этот способ преобразования лучше всего подойдет для материалов, которые еще только будут публиковаться.

Для примера мы возьмем текстовое поле (оно будет выступать у нас в качестве поля для ввода заголовка) и напишем для него небольшой скрипт, который при вводе предложения с маленькой буквы делает его с большой:

<input type="text" name="title" class="content">

<script>

	$(document).ready( function() {

		$(".content").on("keyup", function() {

			var text = $(this).val(); 
			var new_text = text.charAt(0).toUpperCase() + text.substr(1);

			$(this).val(new_text);

		});

	});

</script> 

Скрипт срабатывает как при написании текста, так и простой его вставке. Не забывайте, что для работы скриптов на вашем сайте необходимо наличие подключенной библиотеки jQuery.

Рекомендуем к просмотру
Как проверить, содержит ли массив определенное слово, фразу или текст на PHP/jQuery/JavaScript?
Статьи и советы
Как узнать размер файла по его URL на PHP?
Статьи и советы
12 вариантов обрезки строки на PHP
Модули и скрипты
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник вебмастера