Text Helper
Helper Text zawiera funkcje pomagające w pracy z tekstem.
Ładowanie helpera
Ten helper jest ładowany za pomocą poniższego kodu:
$this->load->helper('text');
Dostępne są następujące funkcje:
word_limiter()
Przycina ciąg znaków do takiej ilości słów, jaką określono w drugim parametrze. Przykład:
$string = "To jest bardzo ładny ciąg znaków zawierający dziewięć wyrazów.";
$string = word_limiter($string, 4);
// Zwraca: To jest bardzo ładny…
Trzeci parametr jest opcjonalnym suffixem, który zostanie dodany do ciągu. Domyślnie jest to wielokropek.
character_limiter()
Przycina ciąg znaków do takiej ilości znaków, jaką określono w drugim parametrze. Funkcja bierze pod uwagę integralność całych wyrazów, więc liczba zwróconych liter może się nieznacznie różnić od ilości znaków, która została określona. Przykład:
$string = "To jest bardzo ładny ciąg znaków zawierający dziewięć wyrazów.";
$string = character_limiter($string, 22);
// Zwraca: To jest bardzo ładny ciąg…
Trzeci parametr jest opcjonalnym suffixem, który zostanie dodany do ciągu. Domyślnie jest to wielokropek.
ascii_to_entities()
Zamienia wartości ASCII na encje, włączając w to zaawansowane ASCII oraz znaki z MS Word, które mogą powodować problemy, kiedy używamy ich na stronach internetowych - dzięki temu mogą być one wyświetlane niezaleznie od ustawień przeglądarki lub zachowane poprawnie w bazie danych. Funkcja jest zależna w pewnym stopniu od obsługiwanego zestawu znaków na Twoim serwerze - nie można więc na niej polegać w 100%, jednak w większości przypadków funkcja ta powinna poprawnie identyfikować znaki spoza normalnego przedziału (włączając w to znaki dialektyczne). Przykład:
$string = ascii_to_entities($string);
entities_to_ascii()
Ta funkcja działa odwrotnie do tej przedstawionej powyżej. Zamienia encje z powrotem na kod ASCII.
convert_accented_characters()
Zamienia zaawansowane znaki ASCII na ich odpowiednik w zwykłym ASCII. Przydatne, kiedy muszą zostać użyte nie-angielskie znaki i tylko standardowy kod ASCII może być bezpiecznie stosowany, np. w przypadku adresów URL.
$string = convert_accented_characters($string);
Ta funkcja korzysta z pliku konfiguracyjnego application/config/foreign_chars.php, aby zdefiniować tablicę transliteracji.
word_censor()
Pozwala na cenzurowanie słów w ciągu tekstowym. Pierwszy parametr zawiera oryginalny ciąg. Drugi, tablicę zabronionych słów. Trzeci parametr (opcjonalny), może zawierać wartość, która zostanie wstawiona w miejsce cenzurowanych słów. Jeśli trzeci parametr nie zostanie określony, domyślnie wyrazy będą zastępowane ciągiem ####. Przykład:
$disallowed = array('darn', 'shucks', 'golly', 'phooey');
$string = word_censor($string, $disallowed, 'Beep!');
highlight_code()
Koloruje ciąg kodu (PHP, HTML, itp.). Przykład:
$string = highlight_code($string);
Ta funkcja używa funkcji PHP highlight_string(), więc użyte kolory są tymi, zdefiniowanymi w Twoim pliku php.ini.
highlight_phrase()
Funkcja podświetla frazę w ciągu tekstowym. Pierwszy parametr zawiera oryginalny ciąg. Drugi, frazę którą chcesz podświetlić. Trzeci i czwarty parametr, zawierają otwierajace i zamykające tagi HTML, pomiędzy którymi ma się znaleźć fraza. Przykład:
$string = "To jest bardzo ładny ciąg znaków o niczym.";
$string = highlight_phrase($string, "bardzo ładny", '<span style="color:#990000">', '</span>');
Powyższa funkcja zwraca:
To jest bardzo ładny ciąg znaków o niczym.
word_wrap()
Zawija tekst na określonej literze, biorąc jednak pod uwagę integralność słów. Przykład:
$string = "Here is a simple string of text that will help us demonstrate this function.";
echo word_wrap($string, 25);
// Zwróci nam:
Here is a simple string
of text that will help
us demonstrate this
function
ellipsize()
Ta funkcja przycina ciąg do określonej długości i dołącza wielokropek.
Pierwszy parametr zawiera ciąg, do którego ma zostać dodany wielokropek. Drugi parametr określa liczbę liter, z których składać ma się finalna postać ciągu. Trzeci parametr określa, w którym miejscu ciągu ma znajdować się wielokropek - parametr przyjmuje wartości od 0 do 1. Dla przykładu, wartość 1 umieści wielokropek po prawej stronie, wartość .5 na środku, a 0 po lewej stronie.
Opcjonalny czwarty parametr określa co ma zostać wstawione do ciągu. Domyślnie zostanie wstawiony znak …, czyli wielokropka.
$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';
echo ellipsize($str, 32, .5);
Daje:
this_string_is_e…ak_my_design.jpg