Лучший вариант:
<?=mb_convert_case($item['name'],MB_CASE_TITLE,'UTF-8')?>
Еще вариант (не тестировался):
function mb_ucfirst($text){
return mb_strtoupper(mb_substr($text,0,1)).mb_substr($text,1);
}
echo mb_ucfirst(mb_strtolower($str));
Не получится просто преобразовать всю строку в нижний регистр, а затем сделать первую букву заглавной.
Не будет работать для кириллицы:
<?=ucfirst(strtolower($item['name']))?>
Преобразует строку в нижний регистр, но не сделает первую букву заглавной:
<?=ucfirst(mb_strtolower($item['name'],'UTF-8'))?>
Генерируем в формате A + id с ведущим нулем (7 цифр)
$ac=get_from_base('*','catalog','1','id');
foreach($ac as $c){
mysql_query("UPDATE `catalog` SET `code`='A".str_pad($c['id'],7,'0',STR_PAD_LEFT)."' WHERE id='".$c['id']."'");
}
т.е. для товара с id 1458 получим артикул A0001458
if(!preg_match_all("|<a.* href=(.*)>(.*)".$word."(.*)</a>|U",$text,$out)){
}
http://phpclub.ru/talk/threads/Замена-слов-ссылками-с-игнорированием-замены-внутри-ссылки.59457/
Полный текст примера из источника:
//Функция замены по маске
function GlossaryFilter($text){
//Прочли файл
$glossfile=@file($_SERVER['DOCUMENT_ROOT']."/cache/glossary.txt");
foreach($glossfile as $mask_word){
$token=explode("|",$mask_word);
//Если найдено слово из списка
if(stristr(trim($text),$token[0])){
//Проверка присутствие ключевого слова внутри ссылки
if(!preg_match_all("|<a.* href=(.*)>(.*)".$token[0]."(.*)</a>|U",$text,$out)){
//Заменяем его на ссылку
$text=str_replace($token[0],"<a href=\"".trim($token[1])."\" target=\"_blank\">".$token[0]."</a>",$text);
}
}
}
//Вернули текст
return $text;
}
Задача: нужно выбрать строки, в которых поле начинается с выбранной буквы, не учитывая определенный набор символов в его начале — ИП, ООО и т.д.
Т.е. фильтр по алфавиту, но наименования указаны как ИП Тест или в другом любом формате.
Например, при поиске результатов, начинающихся с С должен найти ООО РЦ «Северо-Запад»
Набор неучитываемых символов задается пользователем, указывается через разделитель |:
$setting_replace='ИП|ООО|ТД|РЦ|"|«';
$part_sql='`name`';
$replaces=explode('|',$setting_replace);
foreach($replaces as $item){
$part_sql="REPLACE(".$part_sql.",'".$item."','')";
}
$where.=" AND TRIM(".$part_sql.") LIKE '".$_GET['let']."%'";//TRIM - удаляем образовавшиеся пробелы, в нашем случае в начале
В результате поиска строк, у которых наименование начинается с «С» требуемая часть sql-запроса будет иметь вид:
AND TRIM(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(`name`,'ИП',''),'ООО',''),'ТД',''),'РЦ',''),'"',''),'«','')) LIKE 'С%'
В примере 10 часов
ini_set('session.gc_maxlifetime',36000);
session_set_cookie_params(36000);