Прописать название города из базы данных с помощью ucfirst в php?

Можно ли сделать вывод {CITY} прописным, например, с помощью ucfirst? Можно ли каким-то образом изменить этот код, чтобы сделать его заглавным?

<?php
$city_meta = get_option('city_meta' );
$city_description = get_option('city_description' );
$default_api = get_option('default_api' );

/* Update Settings */
if(isset($_POST['submit_changes'])){
update_option('city_meta',$_POST['city_meta']);
update_option('city_description',$_POST['city_description']);

$info =weatherCity::getCities();
//$info =array_slice($info, 0, 3);
$sr=0;
foreach($info as $key=>$value):
$postTitle = 'Väder '.$value->name;
global $wpdb;
$pageInfo=$wpdb->get_row("SELECT ID FROM `".$wpdb->prefix."posts` WHERE post_title = '" . $postTitle . "' AND `post_type`='page' ");

if(!empty($pageInfo)):

$metaTitle=$_POST['city_meta'];
$metaDesc=$_POST['city_description'];

$metaTitle=str_replace('{CITY}',$value->name,$metaTitle);
$metaDesc=str_replace('{CITY}',$value->name,$metaDesc);

update_post_meta($pageInfo->ID,'_yoast_wpseo_title',$metaTitle);
update_post_meta($pageInfo->ID,'_yoast_wpseo_metadesc',$metaDesc);

$sr++;
endif;
endforeach;set_error_message( _e('City Meta Settings has been updated succesfully','weather'),'0');
foreceRedirect(admin_url('admin.php?page=city_meta') );
exit;
}

?>

Было бы здорово, если бы кто-то мог найти простое решение для этого. 🙂

-2

Решение

Вы можете использовать ucwords ()

$metaTitle=ucwords(str_replace('{CITY}',$value->name,$metaTitle));
$metaDesc=ucwords(str_replace('{CITY}',$value->name,$metaDesc));

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

PHP.Net ссылка

http://php.net/manual/en/function.ucwords.php

1

Другие решения

Спасибо, @dotkomm и @Harvey Fletcher, это была комбинация ваших ответов, которые решили проблему.

Решение выглядит так:

$metaTitle=str_replace('{CITY}', ucwords($value->name),$metaTitle);
$metaDesc=str_replace('{CITY}', ucwords($value->name),$metaDesc);
1

Есть несколько методов, самый элегантный способ, по моему мнению, будет делать это с помощью CSS. text-transform: capitalize; как это не изменяет данные

Но да ucfirst() следует также сделать работу, но здесь данные будут изменены для дальнейшей обработки

Также вы можете сделать работу внутри запроса MySQL

В вашем примере, если вы хотите использовать ucfirst() вы должны заменить линию

  $metaTitle=str_replace('{CITY}',$value->name,$metaTitle);
$metaDesc=str_replace('{CITY}',$value->name,$metaDesc);

с

 $metaTitle=str_replace('{CITY}', ucfirst($value->name),$metaTitle);
$metaDesc=str_replace('{CITY}', ucfirst($value->name),$metaDesc);
0
По вопросам рекламы [email protected]