Kaydet (Commit) f2bc68bc authored tarafından Ali Yılmaz's avatar Ali Yılmaz 🎯

The Permalink function has been updated

üst 0c303166
......@@ -917,7 +917,7 @@ veya
## is_date()
Bu fonksiyon kendisiyle paylaşılan tarih biçiminin gerçek olup olmadığını kontrol etmek amacıyla kullanılır, tarih ve formak `string` olarak gönderilebilir. `$date` ve `01.02.1987` tarihi, `$format` ve `d.m.Y` tarihin hangi formatta kontrol edilmesi gerektiği bilgisini temsil etmektedir. Format parametresinin belirtilmesi isteğe bağlıdır, belirtilmediğinde tarih formatının varsayılan olarak `d-m-Y H:i:s` olduğu varsayılır. Eğer tarih geçerliyse yanıt olarak `true` değeri döndürülür, geçerli değilse `false` değeri döndürülür.
Bu fonksiyon kendisiyle paylaşılan tarih biçiminin gerçek olup olmadığını kontrol etmek amacıyla kullanılır, tarih ve format `string` olarak gönderilebilir. `$date` ve `01.02.1987` tarihi, `$format` ve `d.m.Y` tarihin hangi formatta kontrol edilmesi gerektiği bilgisini temsil etmektedir. Format parametresinin belirtilmesi isteğe bağlıdır, belirtilmediğinde tarih formatının varsayılan olarak `d-m-Y H:i:s` olduğu varsayılır. Eğer tarih geçerliyse yanıt olarak `true` değeri döndürülür, geçerli değilse `false` değeri döndürülür.
##### Örnek
$date = '01.02.1987';
......@@ -1324,22 +1324,81 @@ veya
## permalink()
Kendisiyle paylaşılan veriyi arama motoru dostu bir link yapısına dönüştürmek amacıyla kullanılır. İki parametre alabilir, ikinci parametre isteğe bağlı olup belirtilme zorunluluğu bulunmamaktadır. İlk parametre de link yapısına dönüştürülmek istenen veri `string` olarak, ikinci parametre de ise veri içinde değiştirilmesi istenen kelimeler `dizi` olarak tutulur.
Kendisiyle paylaşılan veriyi arama motoru dostu bir link yapısına dönüştürmek amacıyla kullanılır. İki parametre alabilir, İlk parametre de link yapısına dönüştürülmek istenen veri `string` olarak, ikinci parametrede ise aşağıda belirtilen ayarlar yer alır. ikinci parametre isteğe bağlı olup belirtilme zorunluluğu bulunmamaktadır.
##### Örnek
$str = 'Merhaba dünya';
echo $this->permalink($str);
veya
#### Ayraç (delimiter)
Varsayılan olarak `string` yapıda ki veri içinde bulunan boşluklar tire `-` yardımıyla ayrılır, eğer tire `-` yerine başka bir parametre barındırması arzu edilirse, `delimiter` özelliği kullanılabilir.
##### Örnek
$str = 'Merhaba dünya';
$arr = array(
'replacements' => array(
'dünya'=>'dostum'
$option = array(
'delimiter' => '_'
);
echo $this->permalink($str, $option);
#### Limit (limit)
Varsayılan olarak `string` yapıda ki veri `SEO` dostu bir yapıya kavuşturularak geriye döndürülür , eğer belli bir karakter sayısında döndürülmesi istenirse, `limit` özelliği kullanılabilir.
##### Örnek
$str = 'Merhaba dünya';
$option = array(
'limit'=>'3'
);
echo $Mind->permalink($str, $option);
veya
##### Örnek
$str = 'Merhaba dünya';
$option = array(
'limit'=>3
);
echo $Mind->permalink($str, $option);
#### Harf boyutu (lowercase)
Varsayılan olarak `string` yapıda ki veri tamamıyla küçük harfe dönüştürülür, eğer harflerin yazıldığı boyutta kalması istenirse, `lowercase` özelliği kullanılabilir.
##### Örnek
$str = 'Merhaba dünya';
$option = array(
'lowercase'=>false
);
echo $Mind->permalink($str, $option);
#### Kelime değişimi (replacements)
`string` yapıda ki veri içinde belirtilen kelimeleri değiştirmek mümkündür,
##### Örnek
$str = 'Merhaba dünya';
$option = array(
'replacements'=>array(
'Merhaba'=>'hello',
'dünya'=>'world'
)
);
echo $this->permalink($str, $arr);
echo $Mind->permalink($str, $option);
#### Karakter desteği (transliterate)
Farklı alfabelere ait harfler varsayılan olarak `SEO` dostu karşılıklarıyla değiştirilir, eğer olduğu gibi yazılmaları istenirse, `false` parametresi belirtilmelidir.
##### Örnek
$str = 'Merhaba dünya';
$option = array(
'transliterate'=>false
);
echo $Mind->permalink($str, $option);
----------
......
......@@ -1295,10 +1295,11 @@ class Mind {
$replacements = $options['replacements'];
}
if(!$defaults['transliterate']){
if(!$options['transliterate']){
$char_map = array();
}
$options['replacements'] = array_merge($replacements, $char_map);
if(!empty($options['replacements']) AND is_array($options['replacements'])){
......@@ -1310,6 +1311,7 @@ class Mind {
}
$options = array_merge($defaults, $options);
$str = preg_replace('/[^\p{L}\p{Nd}]+/u', $options['delimiter'], $str);
$str = preg_replace('/(' . preg_quote($options['delimiter'], '/') . '){2,}/', '$1', $str);
$str = mb_substr($str, 0, ($options['limit'] ? $options['limit'] : mb_strlen($str, 'UTF-8')), 'UTF-8');
......
<?php
require_once '../src/Mind.php';
use Mind\Mind;
$Mind = new Mind();
$str = "Merhaba dünya";
echo '<br>';
#Normal
echo $Mind->permalink($str);
echo '<br>';
#Delimiter
$option = array(
'delimiter'=>'_'
);
echo $Mind->permalink($str, $option);
echo '<br>';
#Limit
$option = array(
'limit'=>'3'
);
echo $Mind->permalink($str, $option);
echo '<br>';
#lowercase
$option = array(
'lowercase'=>false
);
echo $Mind->permalink($str, $option);
echo '<br>';
#replacements
$option = array(
'replacements'=>array('Merhaba'=>'hello', 'dünya'=>'world')
);
echo $Mind->permalink($str, $option);
echo '<br>';
#transliterate
$option = array(
'transliterate'=>true
);
echo $Mind->permalink($str, $option);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment