berichten afkorten
Wie kan mij helpen, ben nog beginneling met PHP. Ik wil graag dat een bericht ingekort wordt tot een bepaald aantal tekens, en dan een lees meer >> naar het hele bericht.
Tot nu toe heb ik deze zin:
$rij = nl2br(substr($rij, 0, 800));
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
hij laat het bericht zien en verwijsd ook naar het juiste bronbericht, maar ik wil niet het hele bericht, maar alleen de eerste regels... wie kan me helpen...
Tot nu toe heb ik deze zin:
$rij = nl2br(substr($rij, 0, 800));
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
hij laat het bericht zien en verwijsd ook naar het juiste bronbericht, maar ik wil niet het hele bericht, maar alleen de eerste regels... wie kan me helpen...
substr($rij, 0, 800)
die 800 is het aantal tekens dat je te zien krijgt, maak daar bv. 100 van oid.
die 800 is het aantal tekens dat je te zien krijgt, maak daar bv. 100 van oid.
ja maar hij laat nog veel meer dan 800 tekens zien...
Hoi Hanneke,
maakt het nog uit hoe het bericht afgebroken wordt? Ik neem aan dat je niet midden in een woordt wilt stoppen?
maakt het nog uit hoe het bericht afgebroken wordt? Ik neem aan dat je niet midden in een woordt wilt stoppen?
@Boaz
Die code had die al
@hanneke
Je gebruikt bij $rij die substr() regel, terwijl je (zo te zien) ook $rij gebruikt voor de gegevens uit je database.
Met die substr() ben je al op de goede weg..
Die code had die al
@hanneke
Je gebruikt bij $rij die substr() regel, terwijl je (zo te zien) ook $rij gebruikt voor de gegevens uit je database.
Met die substr() ben je al op de goede weg..
hanneke:
ja maar hij laat nog veel meer dan 800 tekens zien...
Waarschijlijk omdat $rij een array is, neem bv. $rij['bericht']
oja helemaal niet aan gedacht... Wel fijn dat er zo snel gereageerd wordt!
hmm werkt nog niet
ik had $rij["bericht"] er al in staan,
heb het nu zo staan:
$rij = nl2br(substr($rij, 0, 800));
echo $rij["bericht"];
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
maar krijg ik dit als uitkomst:
Test - 27 juni 2006A lees »
Bij de A hoort het bericht te staan
ik had $rij["bericht"] er al in staan,
heb het nu zo staan:
$rij = nl2br(substr($rij, 0, 800));
echo $rij["bericht"];
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
maar krijg ik dit als uitkomst:
Test - 27 juni 2006A lees »
Bij de A hoort het bericht te staan
Ik zou het zo doen:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$tekst = 'The quick brown fox jumped over the lazy dog.'; // voorbeeldtekst
$kort = substr ($tekst, 0, 20); // neem de eerste 20 tekens
$laatste_spatie = strrpos ($kort, ' '); // zoek binnen de eerste 20 tekens naar de laatste spatie
$kort = substr ($kort, 0, $laatste_spatie); // snij de string af tot die laatste spatie
echo $kort; // geef de string weer
?>
$tekst = 'The quick brown fox jumped over the lazy dog.'; // voorbeeldtekst
$kort = substr ($tekst, 0, 20); // neem de eerste 20 tekens
$laatste_spatie = strrpos ($kort, ' '); // zoek binnen de eerste 20 tekens naar de laatste spatie
$kort = substr ($kort, 0, $laatste_spatie); // snij de string af tot die laatste spatie
echo $kort; // geef de string weer
?>
Die doet het iniedergeval, nu nog toepassen in mijn scriptje
$rij = nl2br(substr($rij, 0, 800));
Deze regel:
$bericht = nl2br(substr($rij['bericht'], 0, 800));
echo $bericht;
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
Deze regel:
$bericht = nl2br(substr($rij['bericht'], 0, 800));
echo $bericht;
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
HIJ DOET HET
jeujj
jeujj
hanneke:
Die doet het iniedergeval, nu nog toepassen in mijn scriptje
Je zou er een functie van kunnen maken:
Code (php)
In jouw script zou je dan kunnen doen:
en het resultaat op je pagina echoën met een "lees meer" link er achter.
Dat is ook interresant, dat ga ik ook nog proberen! Ben allang blij dat hij het doet, er zit alleen nog een probleempje, hij laat alle berichten in een array zien en dan helemaal onderaan >>lees meer, terwijl dit onder elk berichtje zou moeten komen te staan...
Wel geweldig dat jullie me zo helpen, ik begin net met PHP vind het heel leuk, maar frustrerend als je een dag op jezelfde code aan het staren bent...
Wel geweldig dat jullie me zo helpen, ik begin net met PHP vind het heel leuk, maar frustrerend als je een dag op jezelfde code aan het staren bent...
Hoe ziet de code er uit waarmee je je berichten uit de database haalt?
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$sql=mysql_query("hier is je query");
while($rij=mysql_fetch_array($sql)){
$bericht = nl2br(substr($rij['bericht'], 0, 800));
echo $bericht;
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
}
?>
$sql=mysql_query("hier is je query");
while($rij=mysql_fetch_array($sql)){
$bericht = nl2br(substr($rij['bericht'], 0, 800));
echo $bericht;
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a>";
}
?>
echo "<a href='leesNieuws.php?id= ".$rij[id]."' class='leesnieuws'> lees »</a><hr>";
zo, dus:
bericht
>>lees meer
<hr>
zo, dus:
bericht
>>lees meer
<hr>
ALTIJD aan foutafhandeling doen in queries:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$sql = "
SELECT id, titel, tekst
FROM berichten
ORDER BY datum DESC
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_errno () . ': ' . mysql_error ());
}
else {
while ($row = mysql_fetch_assoc ($res)) {
$korte_tekst = korte_tekst ($row['tekst'], 800); // gebruik hier de functie uit mijn vorige post
echo '<p>' . $row['titel'] . '</p>';
echo '<p>' . $korte_tekst . '</p>';
echo '<p><a href="#">Lees meer...</a></p>';
}
}
?>
$sql = "
SELECT id, titel, tekst
FROM berichten
ORDER BY datum DESC
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_errno () . ': ' . mysql_error ());
}
else {
while ($row = mysql_fetch_assoc ($res)) {
$korte_tekst = korte_tekst ($row['tekst'], 800); // gebruik hier de functie uit mijn vorige post
echo '<p>' . $row['titel'] . '</p>';
echo '<p>' . $korte_tekst . '</p>';
echo '<p><a href="#">Lees meer...</a></p>';
}
}
?>
@Jan: Waarom stop je het eerst in een $var? Dat is toch niet nodig.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$sql = "
SELECT id, titel, tekst
FROM berichten
ORDER BY datum DESC
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_errno () . ': ' . mysql_error ());
}
else {
while ($row = mysql_fetch_assoc ($res)) {
echo '<p>' . $row['titel'] . '</p>';
echo '<p>' . korte_tekst($row['tekst'], 800) . '</p>';
echo '<p><a href="#">Lees meer...</a></p>';
}
}
?>
$sql = "
SELECT id, titel, tekst
FROM berichten
ORDER BY datum DESC
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_errno () . ': ' . mysql_error ());
}
else {
while ($row = mysql_fetch_assoc ($res)) {
echo '<p>' . $row['titel'] . '</p>';
echo '<p>' . korte_tekst($row['tekst'], 800) . '</p>';
echo '<p><a href="#">Lees meer...</a></p>';
}
}
?>
Je hebt gelijk. Goeie correctie.
maar in deze code wordt niet op id geselecteerd




