Kā lai no variabļa dabū ārā noteiktu skaitu burtu?
Moderatori: janis.wd, Vecākie lietotāji
Kā lai no variabļa dabū ārā noteiktu skaitu burtu?
Sveiki, esmu php iesācējs, tādēļ lūdzu neapsmejiet mani.. :lala:
Karoč man ir mainīgais kurā ir, piemēram, tūkstotis burtu (teksts).
Kā lai no viņa izdabū arā (echo) TIKAI pirmos simts burtus ?
Paldies.
Karoč man ir mainīgais kurā ir, piemēram, tūkstotis burtu (teksts).
Kā lai no viņa izdabū arā (echo) TIKAI pirmos simts burtus ?
Paldies.
Mana ģitārmūzika: <a href="http://www.draugiem.lv/rolandsbrazis">d ... sbrazis</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Funkcija atrodas šeit. Iekļauj šo funkciju kodā kautkur, kur vēlies. Tālāk:
Izsaukt:
kur 200 ir skaitlis, cik simbolus gribi paradit.
Izsaukt:
Code: Select all
echo mb_substrws( $teksts_kuru_apgriezt, '200');
Lielu lielais paldies! Viss sanāca 
Mana ģitārmūzika: <a href="http://www.draugiem.lv/rolandsbrazis">d ... sbrazis</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Nav pat jāvelk, viss ir paslēpts internetos.. http://lv.php.net/substr
http://lv.php.net/ funkcijas vārds
http://lv.php.net/ funkcijas vārds
Piedodiet par mazzinību, bet kas būtu "Multy-bite failure" ?
Mana ģitārmūzika: <a href="http://www.draugiem.lv/rolandsbrazis">d ... sbrazis</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Ī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,
š= 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.
a= 1 byteaaaaaš
š= 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.
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 toAndress wrote:Ī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,
a= 1 byteaaaaaš
š= 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.
Mana ģitārmūzika: <a href="http://www.draugiem.lv/rolandsbrazis">d ... sbrazis</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Piekrītu Andress..
Vēl var izmantot ko šādu!
Pielietojums:
Vēl var izmantot ko šādu!
Code: Select all
function wordCut($sTeksts, $maksimalais_garums, $sZinjas_beigas)
{
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;
}
Code: Select all
/// 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, '...');
W000t, atvaino, svētdienas vakars, pudele ruma.Crow wrote: [s]Multy-bite[/s] Multi-byte! Bļin, tak iemācies angliski rakstīt beidzot
@Autoram, es taču jau iedevu risinājumu: http://paste.php.lv/1fb366517924cb8d8fa ... 1?lang=php
Es lietoju šādu, lai neveidotos nepabeigti vārdi un visi multy biti pie kājas.
Code: Select all
function uCrop($text,$lenght) {
if (strlen($text) > $lenght) {
$text = substr($text,0,$lenght);
$text = trim($text);
$text = explode(" ", $text, -1);
$text = implode(" ",$text);
}
return $text;
}
Atvainojos ka velku ārā vecu tēmu, bet jaunu taisīt nav vērts, jo temats tas pats, tikai šoreiz radās cita problēma.
Izmantoju Andress doto funkciju:

(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?
Izmantoju Andress doto funkciju:
Funkciju pielietoju šeit:Andress wrote:Funkcija atrodas šeit. Iekļauj šo funkciju kodā kautkur, kur vēlies. Tālāk:
Izsaukt:
kur 200 ir skaitlis, cik simbolus gribi paradit.Code: Select all
echo mb_substrws( $teksts_kuru_apgriezt, '200');

(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: <a href="http://www.draugiem.lv/rolandsbrazis">d ... sbrazis</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
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?
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?
[font=9]"Begging for a line drawn in the sand to separate the prophets from the men" - Rishloo[/font]
Tā arī netiku gudrs, kas tur darījās, bet ar tavu funkcija Wuu, izskatās ka viss bumbās. Paldies 
Mana ģitārmūzika: <a href="http://www.draugiem.lv/rolandsbrazis">d ... sbrazis</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Un iekš yūtūba: <a href="http://www.youtube.com/user/rolandsbraz ... /videos</a>
Wuu , esi tik laipns un pastāsti, kas notiks kad es izdarīšu šitā ?
Code: Select all
$text = 'Here <a href="http://lorem.ips.um/dolor/sit-amet">goes</a> nothing';
echo uCrop($text,10);
[font=9]"Begging for a line drawn in the sand to separate the prophets from the men" - Rishloo[/font]
- daGrevis
- Vecākais lietotājs
- Atbildes: 2343
- Pievienojies: 06 Feb 2009, 19:00
- Reputācija: 0
- Atrodas: Rīga, Latvija
Par atblusošanu... =D
http://carsonified.com/blog/dev/how-to-debug-in-php/
http://carsonified.com/blog/dev/how-to-debug-in-php/
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/
http://twitter.com/#!/daGrevis
http://last.fm/user/daGrevis
http://ask.fm/daGrevis
http://dagrevis.lv/
- daGrevis
- Vecākais lietotājs
- Atbildes: 2343
- Pievienojies: 06 Feb 2009, 19:00
- Reputācija: 0
- Atrodas: Rīga, Latvija
Nu ar error_reporting() vajadzētu sākt. =D Pēc tam jau domāt tālāk... =)
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/
http://twitter.com/#!/daGrevis
http://last.fm/user/daGrevis
http://ask.fm/daGrevis
http://dagrevis.lv/
Man ir pilnīgi vienalga.azazul wrote:Wuu , esi tik laipns un pastāsti, kas notiks kad es izdarīšu šitā ?Code: Select all
$text = 'Here <a href="http://lorem.ips.um/dolor/sit-amet">goes</a> nothing'; echo uCrop($text,10);