Как сделать строки с заглавной буквы и поставить кавычки (PHP)
В файле самом текстовом есть строки вида:
строка1
строка2
строка3
Нужно сделать так, чтобы после запуска скрипта, файл обновлялся а там сами строки были такого вида:
"Строка1"
"Строка2"
"Строка3"
То есть в начале и конце строки вставлялись кавычки. А первое слово строки начиналось с большой буквы.
Если как, то вот вам наводки
1. Регулярка
2. Вариант с двумя массивами символов и простыми AND OR NOT
полистать в сторону строковых функций php.
Код:
/* Имя файла со строками */
const FILENAME = 'new2.txt';
/* Те самые кавычки спереди и сзади */
const QUOTES = '"';
/* Читаем строки в массив */
$arr = file(FILENAME);
/* Перебираем строки по очереди */
foreach ($arr as &$str) {
$str = QUOTES . trim(mb_ucfirst($str, mb_detect_encoding($str))) . QUOTES;
}
file_put_contents(FILENAME, implode(PHP_EOL, $arr));
/**
* Функция делает первую букву строки "заглавной"
* @param string $str Исходная строка
* @param string $encoding Кодировка строки
* @return string
*/
function mb_ucfirst(&$str, $encoding = 'UTF-8') {
$fc = mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding);
return $fc . mb_substr($str, 1, mb_strlen($str, $encoding), $encoding);
}
const FILENAME = 'new2.txt';
/* Те самые кавычки спереди и сзади */
const QUOTES = '"';
/* Читаем строки в массив */
$arr = file(FILENAME);
/* Перебираем строки по очереди */
foreach ($arr as &$str) {
$str = QUOTES . trim(mb_ucfirst($str, mb_detect_encoding($str))) . QUOTES;
}
file_put_contents(FILENAME, implode(PHP_EOL, $arr));
/**
* Функция делает первую букву строки "заглавной"
* @param string $str Исходная строка
* @param string $encoding Кодировка строки
* @return string
*/
function mb_ucfirst(&$str, $encoding = 'UTF-8') {
$fc = mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding);
return $fc . mb_substr($str, 1, mb_strlen($str, $encoding), $encoding);
}