PHP bu fonksiyon var mı?

4 Cevap php

Kendimi bu işlevi gerek bulundu ve zaten PHP varsa merak ediyorum.

/**
 * Truncates $str and returns it with $ending on the end, if $str is longer
 * than $limit characters
 *
 * @param string $str
 * @param int $length
 * @param string $ending
 * @return string
 */
function truncate_string($str, $length, $ending = "...")
{
    if (strlen($str) <= $length)
    {
    	return $str;
    }
    return substr($str, 0, $length - strlen($ending)).$ending;
}

Sınır 40 ve dize "hızlı tilki tembel kahverengi köpek atladı" Yani, eğer çıktı "hızlı tilki tembel kaş üzerinde atladı ..." olacaktır. PHP ile var olur türden bir şey gibi görünüyor, o yüzden bulamadım şaşırdım.

4 Cevap

Hayır mevcut değil. İhtiyacınız için ilk değil konum olarak birçok kütüphaneler Ancak bunu sağlamak. örneğin Çokbilmiş

$suffix = '...';
$maxLength = 40;

if(strlen($str) > $maxLength){
  $str = substr_replace($str, $suffix, $maxLength);
}

Sizin uygulama soneki uzunluğu toplam dize uzunluğu doğru saymak gerekir bağlı olarak biraz değişebilir.

İşte ilgilenenler için bir satır versiyonu

<?php 
    echo (strlen($string) > 40 ? substr($string, 0, 37)."..." : $string);
?>

Öyle değil.