von Michi |
danke für den hinweis, werde den code dahingehend mal bearbeiten ;) |
von chip |
Hab den Quelltext nur überflogen, aber scheint zu stimmen. Das selbe Problem hatte ich auch mit dieser Funktion. Der Offset-Fehler kommt nur, wenn der Input für die Funktion, sprich der zu kürzende Text, zu kurz ist, also knapp über der Kürzen-Schwelle oder drunter. Muss mir noch mal genauer anschauen. |
von [SpecFor]crusher |
Hi!
Ich habe mal das von chip probiert, bekomme aber massig offset-Fehler, sehe aber keinen Fehler im Script. Evtl. seht ihr den ja:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13: | //Die Funktion an sich
function word_substr($text, $zeichen, $kolanz=3, $punkte=0) {
$wort = explode(" ",$text);
$newstr = "";
$i = 0;
while(strlen($newstr)<=$zeichen &&
strlen($newstr.$wort[$i])<=($zeichen+$kolanz)) {
$newstr .= $wort[$i]." ";
$i++;
}
$newstr .= str_repeat(".",$punkte);
return $newstr;
} |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19: | //Der Aufruf im Script
<?php
$sql = "SELECT title FROM news ORDER BY 'time' DESC";
mysql_select_db($db['database'], $db['connect']);
$r_news = mysql_query($sql, $db['connect']);
if( @mysql_num_rows($r_news) > 0 )
{
$result = array();
for($i = 0; $i < mysql_num_rows($r_news); $i++)
{
$result[$i] = mysql_fetch_array($r_news);
}
for($i = 0; $i < 5; $i++)
{
$title_prev = word_substr($result[$i]['title'], 30, 5, 3);
echo "<tr><td width=\"100%\">".$title_prev."</td></tr>";
}
}
?> |
|
von FrediL |
ok, danke. das hat mir alles weitergeholfen. jetzt werde ich erstmal ein bisschen basteln. |
von chip |
Nabend,
schau mal hier:
http://www.php4u.net/index.php?main=codeschnipsel&source=18
Das dürfte das Richtige sein.
Bis denne ... |
|