Rezanje teksta po koncu besede – php funkcija – substr – cut text – UTF-8
Ko sem pregledoval PHP skripto starejšega datuma sem opazil kratko in preprosto funkcijo, ki skrbi da tekst odrežemo po koncu besede in ne na sredini besede. Rezultat je veliko lepši izpis.
PHP:
Mogoče bo komu v pomoč. Popravljena funkcija za UTF-8 stringe:
PHP:
-
function mbCutText($string, $length, $delimiter = ' ', $postfix = ' ...') {
-
-
$stringLength--;
-
}
-
-
}
-
-
return $string;
-
}
Primer uporabe - UTF-8 - multibye:
PHP:
Pri mbCutText uporabimo mb_substr saj nam $string[index] vrne napačne rezultate, ker je recimo č šumnik večbajtni UTF-8 znak. Prvotni avtor te funkcije je joao.martins@plako.net.
Podobni članki:
- PHP – pretvori prvo črko v veliko črko – UTF8 podpora (ucfirst, ucwords, mb_convert_case)
- PHP – delo z UTF-8 stringi oz. podatki – težave s šumniki (č,š,ž)
- Konverzija CP1250, ISO-8859-1 baze v UTF-8 – šumniki UTF-8 – cp1250 to utf8
- Šumniki – UTF-8 – Težave – PHP & MySQL
- Javascript – input text – le številke – validacija
- Stalni UTF-8 problemi – utf8 mysql php – čšž šumniki težave – iskanje znaki – mysql like
- PHP – pošiljanje emaila – epošte – sending email – HTML Mime Mail
- PHP funkcije v Javascript jeziku – isset
- PHP – izpis podatkov – dump – razhroščevanje – debugiranje
- MySQL iskanje LIKE vs FULL-TEXT



April 16th, 2008 ob 8:14 am
A zato sm meu jst probleme pr zgornji funkciji
(sm jo sicer sam napisu)
April 16th, 2008 ob 9:33 am
Ja, echo $string[1], vrne ?, ker je dobu sam prvi byte znaka.
Tut jest sem mislu da sem sam napisov sam ko sem mal pogledov na php.net, sem vidu da ma eden skorej isto tko da se mi zazdel da sem njegovo kodo uporabu za začetek:)
April 16th, 2008 ob 7:29 pm
Narobe je uglaunem vrnila funkcija - pa ni bla točno ta ki je zgoraj, ker je nism poslal na php.net
April 17th, 2008 ob 3:44 pm
O tem se že pisal nekje, čeprav je šlo samo za to, da se iz besede odreže prve 3 črke in naredi prvo uppercase. No vse lepo in prav, dokler ne pridemo do multibyte črke.
Šlo je za to:
$text = mb_substr("človek",0,3);
$text[0] = mb_strtoupper($text[0], "UTF-8");
Škoda teh funkcij zaradi čžš ...
April 17th, 2008 ob 3:54 pm
Ja, isti problem ker so byti po indexah in pol narobe ven dobi ..
June 2nd, 2008 ob 1:14 pm
[...] Kot veste php funkciji ucfirst in ucwords ne delujeta pravilno, če imamo v tekstu posebne znake (kot naprimer šumniki (č,š,ž) v UTF8 formatu). Podobne težave nastopijo tudi pri ostalih funkcijah, naprimer substr ter strtolower. [...]
June 4th, 2008 ob 12:01 am
[...] cuttext, substr [...]
July 11th, 2008 ob 11:33 pm
Jaz uporabljam tole:
July 14th, 2008 ob 11:00 pm
Dobra rešitev, mogoče celo boljša!