Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Przycinanie przydlugiego tekstu
vegeir
post 28.02.2004, 13:47:29
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.02.2004

Ostrzeżenie: (0%)
-----


Witam,

Napisalem sobie funkcje do przycinania tekstu, chodzilo mi o to, ze chce miec tekst dlugosci 50 znakow, ale jesli 50 znak to nie spacja, to zeby wyraz zostal dokonczony i dopiero po wyrazie ucieta reszta tekstu. Funkcja dziala dobrze, tyle tylko ze jesli puszcze ja w petli, np. 30 powtorzen roznej dlugosci tekstow, to czasem strasznie zwalnia. Mozecie rzucic na nia okiem?

[php:1:1ea3ca8f9d]<?php
function strpad($string, $length, $end = '...') {
$padded_string = '';
if( strlen($string) < $length ) {
$padded_string = $string;
} else {
if( $string[$length] == chr(32) ) {
$padded_string = str_pad($string, $length+1);
} else {
for( $i=0; $i<($length); $i++ ) {
$padded_string .= $string[$i];
}
while( strpos( $string[$length], " ")===false ) {
$padded_string .= $string[$length];
$length++;
}
$padded_string .= $end;
}
}
return $padded_string;
}

?>[/php:1:1ea3ca8f9d]
Go to the top of the page
+Quote Post
wassago
post 28.02.2004, 13:54:33
Post #2





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

Ostrzeżenie: (0%)
-----


nie lepiej uzyc tego

[php:1:97d6af7d84]<?php

$string = "Winamp is now freeware! Thanks to all who have previously registered, your support is really appreciated!";

function string_cut( $string, $cut_size )
{
$StringArray = explode( " ", $string );
for( $i = 0; $i < $cut_size; $i++ ) {
$string_cut .= " "." $StringArray[$i]";
}
return "$string_cut"."...";
}
$string = "";

echo string_cut( $string, 8 );
?>[/php:1:97d6af7d84]
przyklad z zend.com


--------------------
Go to the top of the page
+Quote Post
vegeir
post 28.02.2004, 14:14:42
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.02.2004

Ostrzeżenie: (0%)
-----


Rzeczywiscie, lepsze rozwiazanie smile.gif Dzieki za pomoc
Go to the top of the page
+Quote Post
matid
post 28.02.2004, 14:35:20
Post #4





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

Ostrzeżenie: (0%)
-----


Jeszcze krótsze:
[php:1:e4eef99681]
<?
function skr_dane($tekst, $il_znakow)
{
if (strlen($tekst) > $il_znakow)
return substr($tekst, 0, strrpos(substr($tekst, 0, $il_znakow), " ")).' ...';
else return $tekst;
}
echo skr_dane($tekst,50);
?>
[/php:1:e4eef99681]
Go to the top of the page
+Quote Post
kwiateek
post 1.03.2004, 16:57:23
Post #5





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 13.01.2003
Skąd: 3rd ball of mud behind a big ball of burning gas

Ostrzeżenie: (0%)
-----


[manual:27523dca2e]Wordwrap[/manual:27523dca2e] nie wystarcza?

Pozdrawiam.


--------------------
It's Time to Join the PLD Linux Generation!
<? while (!$success) { $try++; } ?>
Go to the top of the page
+Quote Post
Cross
post 1.03.2004, 17:40:42
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Jastrzębie

Ostrzeżenie: (0%)
-----


nie ponieważ wordwrap rozdzieli wyraz np. w połowie a tu chodzi o całe wyrazy , więc jeśli zdanie ma ileś tam znaków , a maksymalna ilośc znaków jaka może być kończy się w podanym wyrazie to zostawia go całego a ucina wszystko zaraz po nim. wordwrap przydaje się przy bezsensownych wpisach jak np. "hudshudshdsds" coś takiego bo wtedy rozdzieli to nie psując tabelki itp smile.gif


--------------------
Być albo nie być ?.....
Go to the top of the page
+Quote Post
rzseattle
post 1.03.2004, 18:27:08
Post #7





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Hmm

wordwrap ( string str [, int width [, string break [, boolean cut])

cos mi sie wydaje ze ktos lepiej powinien czytac manuala smile.gif


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
Cross
post 1.03.2004, 21:32:30
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Jastrzębie

Ostrzeżenie: (0%)
-----


aaa faktycznie smile.gif dawno nie czytałem manuala smile.gif , przepraszam za to iż odrobinke wprowadziłem w błąd smile.gif


--------------------
Być albo nie być ?.....
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 03:53