Зоглавная буква

Статус
В этой теме нельзя размещать новые ответы.

Uglik

Старатель
Регистрация
8 Окт 2008
Сообщения
350
Реакции
14
Подскажиет как можно реализовать след задачу...

Есть скрипт постинга ... нужно что бы загаловки начинались с большой буквы... на денвере реализовал с помощью функции

$title = ucfirst($title);

Но на хостинге почему то не работает... как можно еще реализвать данную задачу?
 
Подскажиет как можно реализовать след задачу...
Есть скрипт постинга ... нужно что бы загаловки начинались с большой буквы... на денвере реализовал с помощью функции
$title = ucfirst($title);
Но на хостинге почему то не работает... как можно еще реализвать данную задачу?

а что именно не работает на хостинге? не меняет первую букву на заглавную или вообще не видит переменную? можно увидеть результат работы ДО и ПОСЛЕ скрипта? ну и желательно сам скрипт
 
а что именно не работает на хостинге? не меняет первую букву на заглавную или вообще не видит переменную? можно увидеть результат работы ДО и ПОСЛЕ скрипта? ну и желательно сам скрипт
Не меняет первую букву.... стукни в icq 363--088--два 29
 
ucfirst использует алфавит из локали, если такой локали (похоже что ru_RU.CP1251) нет на сервере то работать не будет.

можно посмотреть список локалей на сервере с
PHP:
system('locale -a');
альтернативно можно использовать mb_ функции
PHP:
//указываем кодировку для mb_ функций
mb_internal_encoding("windows-1251");
//ucfirst аналог
echo mb_strtoupper(mb_substr($text, 0, 1)).mb_substr($text, 1);
или css
HTML:
<span style="text-transform:capitalize;">текст</span>
 
Ошибку на функцию выдает?
Никаких ошибок не выдает.... просто не обрабатывается... выводит все загаловки с маленькой...

Значит на хостинге чего то нехватает... хотя все норм раньше работало....

Добавлено через 3 минуты
ucfirst использует алфавит из локали, если такой локали (похоже что ru_RU.CP1251) нет на сервере то работать не будет.
можно посмотреть список локалей на сервере с
PHP:
system('locale -a');
альтернативно можно использовать mb_ функции
PHP:
//указываем кодировку для mb_ функций
mb_internal_encoding("windows-1251");
//ucfirst аналог
echo mb_strtoupper(mb_substr($text, 0, 1)).mb_substr($text, 1);
или css
HTML:
<span style="text-transform:capitalize;">текст</span>
Через css не катит.... много чего переписывать в двиге нужно...

Суть скрипта такова... он берет загаловок из файла и постит его в двиг и так по очереди, данный загаловок выводится в title .... так же формируются ссылки в меню тоже с маленькой

Если у кого то есть желание помочь постучите в icq буду очень признателен.... нашел еще один баг в срипте, который нужно исправить.... (за помощь готов предложить небольшое вознагрождение)

Добавлено через 9 минут
ucfirst использует алфавит из локали, если такой локали (похоже что ru_RU.CP1251) нет на сервере то работать не будет.
можно посмотреть список локалей на сервере с
PHP:
system('locale -a');

вот чего мне вывело....
PHP:
C POSIX aa_DJ aa_DJ.iso88591 aa_DJ.utf8 aa_ER aa_ER.utf8 aa_ER.utf8@saaho aa_ER@saaho aa_ET aa_ET.utf8 af_ZA af_ZA.iso88591 af_ZA.utf8
am_ET am_ET.utf8 an_ES an_ES.iso885915 an_ES.utf8 ar_AE ar_AE.iso88596 ar_AE.utf8 ar_BH ar_BH.iso88596 ar_BH.utf8 ar_DZ ar_DZ.iso88596
ar_DZ.utf8 ar_EG ar_EG.iso88596 ar_EG.utf8 ar_IN ar_IN.utf8 ar_IQ ar_IQ.iso88596 ar_IQ.utf8 ar_JO ar_JO.iso88596 ar_JO.utf8 ar_KW
ar_KW.iso88596 ar_KW.utf8 ar_LB ar_LB.iso88596 ar_LB.utf8 ar_LY ar_LY.iso88596 ar_LY.utf8 ar_MA ar_MA.iso88596 ar_MA.utf8 ar_OM
ar_OM.iso88596 ar_OM.utf8 ar_QA ar_QA.iso88596 ar_QA.utf8 ar_SA ar_SA.iso88596 ar_SA.utf8 ar_SD ar_SD.iso88596 ar_SD.utf8 ar_SY
ar_SY.iso88596 ar_SY.utf8 ar_TN ar_TN.iso88596 ar_TN.utf8 ar_YE ar_YE.iso88596 ar_YE.utf8 as_IN.utf8 ast_ES ast_ES.iso885915
ast_ES.utf8 az_AZ.utf8 be_BY be_BY.cp1251 be_BY.utf8 be_BY.utf8@latin be_BY@latin ber_DZ ber_DZ.utf8 ber_MA ber_MA.utf8 bg_BG
bg_BG.cp1251 bg_BG.utf8 bn_BD bn_BD.utf8 bn_IN bn_IN.utf8 bo_CN bo_CN.utf8 bo_IN bo_IN.utf8 br_FR br_FR.iso88591 br_FR.iso885915@euro
br_FR.utf8 br_FR@euro bs_BA bs_BA.iso88592 bs_BA.utf8 byn_ER byn_ER.utf8 ca_AD ca_AD.iso885915 ca_AD.utf8 ca_ES ca_ES.iso88591
ca_ES.iso885915@euro ca_ES.iso885915@valencia ca_ES.utf8 ca_ES.utf8@valencia ca_ES@euro ca_ES@valencia ca_FR ca_FR.iso885915 ca_FR.utf8
ca_IT ca_IT.iso885915 ca_IT.utf8 crh_UA crh_UA.utf8 cs_CZ cs_CZ.iso88592 cs_CZ.utf8 csb_PL csb_PL.utf8 cy_GB cy_GB.iso885914 cy_GB.utf8
da_DK da_DK.iso88591 da_DK.utf8 de_AT de_AT.iso88591 de_AT.iso885915@euro de_AT.utf8 de_AT@euro de_BE de_BE.iso88591
de_BE.iso885915@euro de_BE.utf8 de_BE@euro de_CH de_CH.iso88591 de_CH.utf8 de_DE de_DE.iso88591 de_DE.iso885915@euro de_DE.utf8
de_DE@euro de_LI.utf8 de_LU de_LU.iso88591 de_LU.iso885915@euro de_LU.utf8 de_LU@euro dv_MV dv_MV.utf8 dz_BT dz_BT.utf8 el_CY
el_CY.iso88597 el_CY.utf8 el_GR el_GR.iso88597 el_GR.utf8 en_AG en_AG.utf8 en_AU en_AU.iso88591 en_AU.utf8 en_BW en_BW.iso88591
en_BW.utf8 en_CA en_CA.iso88591 en_CA.utf8 en_DK en_DK.iso88591 en_DK.iso885915 en_DK.utf8 en_GB en_GB.iso88591 en_GB.iso885915
en_GB.utf8 en_HK en_HK.iso88591 en_HK.utf8 en_IE en_IE.iso88591 en_IE.iso885915@euro en_IE.utf8 en_IE@euro en_IN en_IN.utf8 en_NG
en_NG.utf8 en_NZ en_NZ.iso88591 en_NZ.utf8 en_PH en_PH.iso88591 en_PH.utf8 en_SG en_SG.iso88591 en_SG.utf8 en_US en_US.iso88591
en_US.iso885915 en_US.utf8 en_ZA en_ZA.iso88591 en_ZA.utf8 en_ZW en_ZW.iso88591 en_ZW.utf8 eo eo.iso88593 eo.utf8 es_AR es_AR.iso88591
es_AR.utf8 es_BO es_BO.iso88591 es_BO.utf8 es_CL es_CL.iso88591 es_CL.utf8 es_CO es_CO.iso88591 es_CO.utf8 es_CR es_CR.iso88591
es_CR.utf8 es_DO es_DO.iso88591 es_DO.utf8 es_EC es_EC.iso88591 es_EC.utf8 es_ES es_ES.iso88591 es_ES.iso885915@euro es_ES.utf8
es_ES@euro es_GT es_GT.iso88591 es_GT.utf8 es_HN es_HN.iso88591 es_HN.utf8 es_MX es_MX.iso88591 es_MX.utf8 es_NI es_NI.iso88591
es_NI.utf8 es_PA es_PA.iso88591 es_PA.utf8 es_PE es_PE.iso88591 es_PE.utf8 es_PR es_PR.iso88591 es_PR.utf8 es_PY es_PY.iso88591
es_PY.utf8 es_SV es_SV.iso88591 es_SV.utf8 es_US es_US.iso88591 es_US.utf8 es_UY es_UY.iso88591 es_UY.utf8 es_VE es_VE.iso88591
es_VE.utf8 et_EE et_EE.iso88591 et_EE.iso885915 et_EE.utf8 eu_ES eu_ES.iso88591 eu_ES.iso885915@euro eu_ES.utf8 eu_ES@euro eu_FR
eu_FR.iso88591 eu_FR.iso885915@euro eu_FR.utf8 eu_FR@euro fa_IR fa_IR.utf8 fi_FI fi_FI.iso88591 fi_FI.iso885915@euro fi_FI.utf8
fi_FI@euro fil_PH fil_PH.utf8 fo_FO fo_FO.iso88591 fo_FO.utf8 fr_BE fr_BE.iso88591 fr_BE.iso885915@euro fr_BE.utf8 fr_BE@euro fr_CA
fr_CA.iso88591 fr_CA.utf8 fr_CH fr_CH.iso88591 fr_CH.utf8 fr_FR fr_FR.iso88591 fr_FR.iso885915@euro fr_FR.utf8 fr_FR@euro fr_LU
fr_LU.iso88591 fr_LU.iso885915@euro fr_LU.utf8 fr_LU@euro fur_IT fur_IT.utf8 fy_DE fy_DE.utf8 fy_NL fy_NL.utf8 ga_IE ga_IE.iso88591
ga_IE.iso885915@euro ga_IE.utf8 ga_IE@euro gd_GB gd_GB.iso885915 gd_GB.utf8 gez_ER gez_ER.utf8 gez_ER.utf8@abegede gez_ER@abegede
gez_ET gez_ET.utf8 gez_ET.utf8@abegede gez_ET@abegede gl_ES gl_ES.iso88591 gl_ES.iso885915@euro gl_ES.utf8 gl_ES@euro gu_IN gu_IN.utf8
gv_GB gv_GB.iso88591 gv_GB.utf8 ha_NG ha_NG.utf8 he_IL he_IL.iso88598 he_IL.utf8 hi_IN hi_IN.utf8 hne_IN hne_IN.utf8 hr_HR
hr_HR.iso88592 hr_HR.utf8 hsb_DE hsb_DE.iso88592 hsb_DE.utf8 ht_HT ht_HT.utf8 hu_HU hu_HU.iso88592 hu_HU.utf8 hy_AM hy_AM.armscii8
hy_AM.utf8 ia ia.utf8 id_ID id_ID.iso88591 id_ID.utf8 ig_NG ig_NG.utf8 ik_CA ik_CA.utf8 is_IS is_IS.iso88591 is_IS.utf8 it_CH
it_CH.iso88591 it_CH.utf8 it_IT it_IT.iso88591 it_IT.iso885915@euro it_IT.utf8 it_IT@euro iu_CA iu_CA.utf8 iw_IL iw_IL.iso88598
iw_IL.utf8 ja_JP.eucjp ja_JP.utf8 ka_GE ka_GE.georgianps ka_GE.utf8 kk_KZ kk_KZ.rk1048 kk_KZ.utf8 kl_GL kl_GL.iso88591 kl_GL.utf8 km_KH
km_KH.utf8 kn_IN kn_IN.utf8 ko_KR.euckr ko_KR.utf8 ks_IN ks_IN.utf8 ks_IN.utf8@devanagari ks_IN@devanagari ku_TR ku_TR.iso88599
ku_TR.utf8 kw_GB kw_GB.iso88591 kw_GB.utf8 ky_KG ky_KG.utf8 lg_UG lg_UG.iso885910 lg_UG.utf8 li_BE li_BE.utf8 li_NL li_NL.utf8 lo_LA
lo_LA.utf8 lt_LT lt_LT.iso885913 lt_LT.utf8 lv_LV lv_LV.iso885913 lv_LV.utf8 mai_IN mai_IN.utf8 mg_MG mg_MG.iso885915 mg_MG.utf8 mi_NZ
mi_NZ.iso885913 mi_NZ.utf8 mk_MK mk_MK.iso88595 mk_MK.utf8 ml_IN ml_IN.utf8 mn_MN mn_MN.utf8 mr_IN mr_IN.utf8 ms_MY ms_MY.iso88591
ms_MY.utf8 mt_MT mt_MT.iso88593 mt_MT.utf8 my_MM my_MM.utf8 nan_TW.utf8@latin nan_TW@latin nb_NO nb_NO.iso88591 nb_NO.utf8 nds_DE
nds_DE.utf8 nds_NL nds_NL.utf8 ne_NP ne_NP.utf8 nl_AW nl_AW.utf8 nl_BE nl_BE.iso88591 nl_BE.iso885915@euro nl_BE.utf8 nl_BE@euro nl_NL
nl_NL.iso88591 nl_NL.iso885915@euro nl_NL.utf8 nl_NL@euro nn_NO nn_NO.iso88591 nn_NO.utf8 nr_ZA nr_ZA.utf8 nso_ZA nso_ZA.utf8 oc_FR
oc_FR.iso88591 oc_FR.utf8 om_ET om_ET.utf8 om_KE om_KE.iso88591 om_KE.utf8 or_IN or_IN.utf8 pa_IN pa_IN.utf8 pa_PK pa_PK.utf8 pap_AN
pap_AN.utf8 pl_PL pl_PL.iso88592 pl_PL.utf8 ps_AF ps_AF.utf8 pt_BR pt_BR.iso88591 pt_BR.utf8 pt_PT pt_PT.iso88591 pt_PT.iso885915@euro
pt_PT.utf8 pt_PT@euro ro_RO ro_RO.iso88592 ro_RO.utf8 ru_RU ru_RU.cp1251 ru_RU.iso88595 ru_RU.koi8r ru_RU.utf8 ru_UA ru_UA.koi8u
ru_UA.utf8 rw_RW rw_RW.utf8 sa_IN sa_IN.utf8 sc_IT sc_IT.utf8 sd_IN sd_IN.utf8 sd_IN.utf8@devanagari sd_IN@devanagari se_NO se_NO.utf8
shs_CA shs_CA.utf8 si_LK si_LK.utf8 sid_ET sid_ET.utf8 sk_SK sk_SK.iso88592 sk_SK.utf8 sl_SI sl_SI.iso88592 sl_SI.utf8 so_DJ
so_DJ.iso88591 so_DJ.utf8 so_ET so_ET.utf8 so_KE so_KE.iso88591 so_KE.utf8 so_SO so_SO.iso88591 so_SO.utf8 sq_AL sq_AL.iso88591
sq_AL.utf8 sr_ME sr_ME.utf8 sr_RS sr_RS.utf8 sr_RS.utf8@latin sr_RS@latin ss_ZA ss_ZA.utf8 st_ZA st_ZA.iso88591 st_ZA.utf8 sv_FI
sv_FI.iso88591 sv_FI.iso885915@euro sv_FI.utf8 sv_FI@euro sv_SE sv_SE.iso88591 sv_SE.iso885915 sv_SE.utf8 ta_IN ta_IN.utf8 te_IN
te_IN.utf8 tg_TJ tg_TJ.koi8t tg_TJ.utf8 th_TH th_TH.tis620 th_TH.utf8 ti_ER ti_ER.utf8 ti_ET ti_ET.utf8 tig_ER tig_ER.utf8 tk_TM
tk_TM.utf8 tl_PH tl_PH.iso88591 tl_PH.utf8 tn_ZA tn_ZA.utf8 tr_CY tr_CY.iso88599 tr_CY.utf8 tr_TR tr_TR.iso88599 tr_TR.utf8 ts_ZA
ts_ZA.utf8 tt_RU.utf8 tt_RU.utf8@iqtelif.UTF-8 tt_RU@iqtelif.UTF-8 ug_CN ug_CN.utf8 uk_UA uk_UA.koi8u uk_UA.utf8 ur_PK ur_PK.utf8 uz_UZ
uz_UZ.iso88591 uz_UZ.utf8 uz_UZ.utf8@cyrillic uz_UZ@cyrillic ve_ZA ve_ZA.utf8 vi_VN vi_VN.tcvn vi_VN.utf8 wa_BE wa_BE.iso88591
wa_BE.iso885915@euro wa_BE.utf8 wa_BE@euro wo_SN wo_SN.utf8 xh_ZA xh_ZA.iso88591 xh_ZA.utf8 yi_US yi_US.cp1255 yi_US.utf8 yo_NG
yo_NG.utf8 zh_CN zh_CN.gb18030 zh_CN.gb2312 zh_CN.gbk zh_CN.utf8 zh_HK zh_HK.big5hkscs zh_HK.utf8 zh_SG zh_SG.gb2312 zh_SG.gbk
zh_SG.utf8 zh_TW zh_TW.big5 zh_TW.euctw zh_TW.utf8 zu_ZA zu_ZA.iso88591 zu_ZA.utf8

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

---------- Post added at 16:01 ---------- Previous post was at 14:22 ----------

ucfirst использует алфавит из локали, если такой локали (похоже что ru_RU.CP1251) нет на сервере то работать не будет.
можно посмотреть список локалей на сервере с
ru_RU.CP1251 данный локали присутствует
 
Варианты из второго поста проигнорированы полностью, не подходят или они не работают? :)
Неплохо бы глянуть на сайт или может сообщишь какая кодировка сайта и какая кодировка файла из которого берутся заголовки, чтобы меньше гадать нужно было. Попробую еще разик угадать:
PHP:
<?php
    function capitalize_first($str) {
        $line = iconv("UTF-8", "Windows-1251", $str); // convert to windows-1251
        $line = ucfirst($line);
        $line = iconv("Windows-1251", "UTF-8", $line); // convert back to utf-8
       
        return $line;
    }
?>
Пользовать так:
PHP:
$title = capitalize_first($title);
 
Варианты из второго поста проигнорированы полностью, не подходят или они не работают? :)
Неплохо бы глянуть на сайт или может сообщишь какая кодировка сайта и какая кодировка файла из которого берутся заголовки, чтобы меньше гадать нужно было. Попробую еще разик угадать:
PHP:
<?php
    function capitalize_first($str) {
        $line = iconv("UTF-8", "Windows-1251", $str); // convert to windows-1251
        $line = ucfirst($line);
        $line = iconv("Windows-1251", "UTF-8", $line); // convert back to utf-8
        return $line;
    }
?>
Пользовать так:
PHP:
$title = capitalize_first($title);
Кадировка сайта win1251 и файл в той же кадировке.... и скрипт в той же... постучи в icq(363_088_229) покажу и сайт и скрипт
 
После гугления и многочисленных проб, получился вот такой вариант:
Похоже заставить функцию ucfirst работать будет совсем непросто. Проще будет записать функцию ucmyfirst в файл с подключаемыми функциями и поменять в движке все ucfirst на ucmyfirst.

Сорь, аськой не пользуюсь - надоели спаммеры :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху