<?php
// get title
$title = $this->get('title');
// see if there's any lowercase characters
$pattern[0] = '/[^a-z]/';
$replacement[0] = '';
$parsed = preg_replace($pattern, $replacement, $title);
$lower_count = strlen($parsed);
// convert title to all lowercase if currently all uppercase
if ($lower_count == 0) {
$title = strtolower($title);
}
// uppercase the first character of each word in a string
$title = ucwords($title);
// set title
$this->set('title', $title);
?>
Title Control v1.5 changes:
- Added Poll in Options. Allows adding a phrase if the thread contains a poll.
- Added Multibyte check box in Options.
Title Control v1.6 changes:
Removed thread title field in options. This didn't work very well and I think seldom if ever used.
Title Control v1.7 changes:
Removed Option to add "Poll:" to title because of a conflict during Thread Cache rebuild.
@AndyB ,AndyB updated Title Control with a new update entry:
See description
Read the rest of this update entry...
Andy, I have solve the problem. Code is bit long but it is working@AndyB ,
I have a problem with Turkish Chars. For example, If I wrote title like : "KİTAP KITAP" , it is converted to "Kitap Kitap". But I want it to be "Kitap Kıtap".
Is there a solution for this situation ?
Thanks.
<?php
$title2 = $this->get('title');
$sonuc='';
$kelimeler=explode(" ", $title2);
foreach ($kelimeler as $kelime_duz){
$kelime_uzunluk=strlen($kelime_duz);$ilk_karakter=mb_substr($kelime_duz,0,1,'UTF-8');
if($ilk_karakter=='Ç' or $ilk_karakter=='ç'){
$ilk_karakter='Ç';
}elseif ($ilk_karakter=='Ğ' or $ilk_karakter=='ğ') {
$ilk_karakter='Ğ';
}elseif($ilk_karakter=='I' or $ilk_karakter=='ı'){
$ilk_karakter='I';
}elseif ($ilk_karakter=='İ' or $ilk_karakter=='i'){
$ilk_karakter='İ';
}elseif ($ilk_karakter=='Ö' or $ilk_karakter=='ö'){
$ilk_karakter='Ö';
}elseif ($ilk_karakter=='Ş' or $ilk_karakter=='ş'){
$ilk_karakter='Ş';
}elseif ($ilk_karakter=='Ü' or $ilk_karakter=='ü'){
$ilk_karakter='Ü';
}else{
$ilk_karakter=strtoupper($ilk_karakter);
}
$digerleri=mb_substr($kelime_duz,1,$kelime_uzunluk,'UTF-8');
$digerleri=str_replace('Ç', 'ç', $digerleri);$digerleri=str_replace('Ğ', 'ğ', $digerleri);$digerleri=str_replace('I', 'ı', $digerleri);$digerleri=str_replace('İ', 'i', $digerleri);$digerleri=str_replace('Ö', 'ö', $digerleri);$digerleri=str_replace('Ş', 'ş', $digerleri);$digerleri=str_replace('Ü', 'ü', $digerleri);$digerleri=strtolower($digerleri);
$sonuc.=$ilk_karakter.$digerleri.' ';
}
$son=trim(str_replace(' ', ' ', $sonuc));
// set title
$this->set('title', $title);
?>
<?PHP
// get title
$title = $this->get('title');
//########################################
// Remove trailing period(s).
$done = '';
while ($done != 'yes')
{
$length = strlen($title);
$length = $length - 1;
$lastchar = substr($title, $length, 1);
if ($lastchar != '.')
{
$done = 'yes';
}
if ($lastchar == '.')
{
$title = substr($title, 0, $length);
}
}
//########################################
// Remove question marks if more than one
// is used.
if (substr_count($title, '?') > 1)
{
$patterns[0] = '/\?/';
$replacements[0] = '';
$title = preg_replace($patterns, $replacements, $title);
}
//########################################
// If all caps over 30 characters, convert
// to sentence case.
if (strlen($title) > 30)
{
$pattern[0] = '/[^a-z]/';
$replacement[0] = '';
$parsed = preg_replace($pattern, $replacement, $title);
$lower_count = strlen($parsed);
$pattern[0] = '/[^A-Z]/';
$replacement[0] = '';
$parsed = preg_replace($pattern, $replacement, $title);
$upper_count = strlen($parsed);
if ($upper_count > $lower_count)
{
$title = strtolower($title);
$title = ucwords($title);
}
}
// set title
$this->set('title', $title);
We use essential cookies to make this site work, and optional cookies to enhance your experience.