Īsumā- vairums latviešu burtu ir multy-byte, TB to garums ir nevis kā klasiski- 1 byts, bet gan 2. Substr nav multy-bite atbalstoša funkcija, tādēļ tā "pārgriež" multy-byte burtus uz pusēm parvēršot tos simbolos. Piemēram mums ir teksts no 6 burtiem,
Citēt:
aaaaaš
a= 1 byte
š= 2 bytes
tatad kopējais garums - 7 bytes.
Apgriežot tekstu uz 6 simboliem ar substr, pēdējais š var tikt pārgriezts. (nezinu kapēc, bet dažreiz tas nenotiek. bug?) un izvadīts kā nezināms simbols. Latviešu valodas string apstrādei nepieciešams izmantot MB saderīgas funkcijas, piemēram mb_substr vai tā, ko tev iedevu es (var atrast PHP.net). Kaut daudz maz saprati? Ja ne, PM, paskaidrošu tuvāk.
Ja visās iespējamās vietās izmanto UTF-8 un nesadirš tekstu pirms padošanas, ar letiņu burtiem iekš 5.2.x problēmām nevajadzētu būt. Vispār mbstring ir lēns kā nāve, bet citādi jau jēdzīgu domu pateica
Multy-biteMulti-byte! Bļin, tak iemācies angliski rakstīt beidzot
Īsumā- vairums latviešu burtu ir multy-byte, TB to garums ir nevis kā klasiski- 1 byts, bet gan 2. Substr nav multy-bite atbalstoša funkcija, tādēļ tā "pārgriež" multy-byte burtus uz pusēm parvēršot tos simbolos. Piemēram mums ir teksts no 6 burtiem,
Citēt:
aaaaaš
a= 1 byte
š= 2 bytes
tatad kopējais garums - 7 bytes.
Apgriežot tekstu uz 6 simboliem ar substr, pēdējais š var tikt pārgriezts. (nezinu kapēc, bet dažreiz tas nenotiek. bug?) un izvadīts kā nezināms simbols. Latviešu valodas string apstrādei nepieciešams izmantot MB saderīgas funkcijas, piemēram mb_substr vai tā, ko tev iedevu es (var atrast PHP.net). Kaut daudz maz saprati? Ja ne, PM, paskaidrošu tuvāk.
Nu viss skaidrs.. paldies liels. Domāju ka pats tikšu galā jo atradu vēl materiālus par šo. Tieši viss sanāca ar Substr, bet ja tāda tā lieta, tad skatīšu citus variantus, bet maķenīt gudrāks paliku. Paldies par to
/// Ievadi tekstu pie $teksts kuru vajag noskaldiit mazaaku
/// otrais mainiigais ir teksta garums kuru vajag noskaldit nost - piemeram sheit no teksta paradas 100 simboli...
/// teksta noraavums - piemeram daudzpunkte beigaas, vai punktu vieta var likt (Lasit talak) - atkariibaa kaa tev vajag
wordCut($teksts, 100, '...');
_________________ Oh My God = OMG
Ak Mans Dievs = AMD
Taču nezin kāda iemesla dēļ dažreiz simbolu skaits pie lapas refrešošanas mainās lūk šādi:
Respektīvi tad vairāk simbolu, tad mazāk.
Un tas notiek tikai pie refrešošanas vai ieešanas citā sadaļā, un pats jokainākais ir tas, ka tas notiek tikai dažreiz, varētu pat teikt ka reti - ne pie katras refrešošanas. Pētīju to funkciju ar savām pašdarbnieciskajām php zināšanām, bet gudrs netiku.
Varbūt kāds zinošāks varētu pateikt kur slēpjas āķis?
Nu a kas debugot php nemāki ?
Tur pat izdrukā cik tad daudz simbolu tev tekstā ir bijis, un skaties vai rezultātis ir pareizs.
Besides, ja jau tev visiem rakstiem ir tāds "preview",
tad nafig tu nevari to vienreiz noparsēt un glabāt jau gatavu datubāzē,
nevis katru reizi pērties tam tekstam cauri?
_________________ "Begging for a line drawn in the sand to separate the prophets from the men" - Rishloo
guitarman : 10 Janvāris 2010 16:24:16
_________________
Mana ģitārmūzika: draugiem.lv/rolandsbrazis
Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis
Crow : 10 Janvāris 2010 16:33:19
Andress : 10 Janvāris 2010 16:34:30
kur 200 ir skaitlis, cik simbolus gribi paradit.
guitarman : 10 Janvāris 2010 16:35:51
_________________
Mana ģitārmūzika: draugiem.lv/rolandsbrazis
Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis
Aldis : 10 Janvāris 2010 16:36:22
_________________
Andress : 10 Janvāris 2010 16:41:29
_________________
Diemžēl Latvijas IT industrija no ārpasaules atpaliek par vismaz 10+ gadiem. Mentalitāte?
guitarman : 10 Janvāris 2010 17:03:38
_________________
Mana ģitārmūzika: draugiem.lv/rolandsbrazis
Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis
Wuu : 10 Janvāris 2010 17:08:04
Atkal līmi osti? p�...
_________________
Andress : 10 Janvāris 2010 17:14:59
a= 1 byte
š= 2 bytes
tatad kopējais garums - 7 bytes.
Apgriežot tekstu uz 6 simboliem ar substr, pēdējais š var tikt pārgriezts. (nezinu kapēc, bet dažreiz tas nenotiek. bug?) un izvadīts kā nezināms simbols. Latviešu valodas string apstrādei nepieciešams izmantot MB saderīgas funkcijas, piemēram mb_substr vai tā, ko tev iedevu es (var atrast PHP.net). Kaut daudz maz saprati? Ja ne, PM, paskaidrošu tuvāk.
#Wuu, aizver žjaunu. Pok3mons.
Wuu : 10 Janvāris 2010 17:21:05
_________________
Crow : 10 Janvāris 2010 17:22:18
guitarman : 10 Janvāris 2010 17:22:39
a= 1 byte
š= 2 bytes
tatad kopējais garums - 7 bytes.
Apgriežot tekstu uz 6 simboliem ar substr, pēdējais š var tikt pārgriezts. (nezinu kapēc, bet dažreiz tas nenotiek. bug?) un izvadīts kā nezināms simbols. Latviešu valodas string apstrādei nepieciešams izmantot MB saderīgas funkcijas, piemēram mb_substr vai tā, ko tev iedevu es (var atrast PHP.net). Kaut daudz maz saprati? Ja ne, PM, paskaidrošu tuvāk.
Nu viss skaidrs.. paldies liels. Domāju ka pats tikšu galā jo atradu vēl materiālus par šo. Tieši viss sanāca ar Substr, bet ja tāda tā lieta, tad skatīšu citus variantus, bet maķenīt gudrāks paliku. Paldies par to
_________________
Mana ģitārmūzika: draugiem.lv/rolandsbrazis
Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis
Aldis : 10 Janvāris 2010 17:25:08
{
if (strlen($sTeksts) > $maksimalais_garums)
{
$sString = wordwrap($sTeksts, ($maksimalais_garums-strlen($sZinjas_beigas)), '[cut]', 1);
$asExplodedString = explode('[cut]', $sString);
echo $sCutText = $asExplodedString[0];
$sReturn = $sCutText.$sZinjas_beigas;
}
else
{
echo $sTeksts;
}
return $sReturn;
}
Pielietojums:
/// Ievadi tekstu pie $teksts kuru vajag noskaldiit mazaaku
/// otrais mainiigais ir teksta garums kuru vajag noskaldit nost - piemeram sheit no teksta paradas 100 simboli...
/// teksta noraavums - piemeram daudzpunkte beigaas, vai punktu vieta var likt (Lasit talak) - atkariibaa kaa tev vajag
wordCut($teksts, 100, '...');
_________________
Andress : 10 Janvāris 2010 17:55:14
Multy-biteMulti-byte! Bļin, tak iemācies angliski rakstīt beidzotW000t, atvaino, svētdienas vakars, pudele ruma.
@Autoram, es taču jau iedevu risinājumu: http://paste.php.lv/1fb366517924cb8d8faa74f1b16d7521?lang=php
Aldis : 10 Janvāris 2010 18:22:47
_________________
Wuu : 10 Janvāris 2010 18:34:01
if (strlen($text) > $lenght) {
$text = substr($text,0,$lenght);
$text = trim($text);
$text = explode(" ", $text, -1);
$text = implode(" ",$text);
}
return $text;
}
_________________
Crow : 10 Janvāris 2010 19:04:47
Aldis : 10 Janvāris 2010 23:22:40
_________________
guitarman : 19 Jūnijs 2010 2:02:03
Izsaukt:
kur 200 ir skaitlis, cik simbolus gribi paradit.
Funkciju pielietoju šeit:
(To var redzēt iekš www.troksnis.lv uzreiz pirmajā lapā)
Taču nezin kāda iemesla dēļ dažreiz simbolu skaits pie lapas refrešošanas mainās lūk šādi:
Respektīvi tad vairāk simbolu, tad mazāk.
Un tas notiek tikai pie refrešošanas vai ieešanas citā sadaļā, un pats jokainākais ir tas, ka tas notiek tikai dažreiz, varētu pat teikt ka reti - ne pie katras refrešošanas. Pētīju to funkciju ar savām pašdarbnieciskajām php zināšanām, bet gudrs netiku.
Varbūt kāds zinošāks varētu pateikt kur slēpjas āķis?
_________________
Mana ģitārmūzika: draugiem.lv/rolandsbrazis
Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis
Wuu : 19 Jūnijs 2010 9:07:49
_________________
azazul : 19 Jūnijs 2010 9:15:57
_________________
"Begging for a line drawn in the sand to separate the prophets from the men" - Rishloo
guitarman : 19 Jūnijs 2010 18:44:50
_________________
Mana ģitārmūzika: draugiem.lv/rolandsbrazis
Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis
azazul : 19 Jūnijs 2010 19:06:12
echo uCrop($text,10);
_________________
"Begging for a line drawn in the sand to separate the prophets from the men" - Rishloo
daGrevis : 19 Jūnijs 2010 19:26:38
_________________
Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/
http://twitter.com/#!/daGrevis
http://last.fm/user/daGrevis
http://ask.fm/daGrevis
http://dagrevis.lv/
Mad182 : 20 Jūnijs 2010 16:43:59
_________________
100% Microsoft free
daGrevis : 20 Jūnijs 2010 17:37:30
_________________
Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/
http://twitter.com/#!/daGrevis
http://last.fm/user/daGrevis
http://ask.fm/daGrevis
http://dagrevis.lv/
Wuu : 20 Jūnijs 2010 18:55:38
echo uCrop($text,10);
Man ir pilnīgi vienalga.
_________________