Zin afbreken in PHP?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert

Robert

01/10/2007 11:06:00
Quote Anchor link
Hey allemaal,

Ik ben behoorlijk nieuw met PHP en zit met een irritant probleem. Ik heb een PHP script waarin hij informatie haalt uit een datafeed en die plaatst op mijn site. Nou is het probleem dat de data die hij toont te lang is en mijn lay-out verpest. Daarom wil ik ervoor zorgen dat hij de tekst afbreekt na bijv 15 tekens met "...".
Dit is mijn script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

                                                                            
//  for ($i = 0; $i < 10; $i++){
                                                                    
                                                                    
$fp = fopen ("test.csv","r");
                                                                      
                                                                                
$row=0;
                                                                                

for($j = 0; $j < 12; $j++){


$data = fgetcsv ($fp, 1000, ",");
                                                                                
$num = count ($data);
                                                                                
//print "<p> $num velden in regel $row: <br>\n";
$row++;
                                                                                
// for ($c=0; $c < $num; $c++) {
if($row >2){
                                                                                
print "<tr><td><a href='".$data[0] .
"class='style32' style ='text-decoration:none'>";
print $data[6] . "</a></td><td class='prijs'><a     
href='"
.$data[0]."' class='style32'          
style='text-decoration:none'.>"
;
print $data[5] . "</td></tr>
"
; }
//}}
}
                                                                                    
//    }
                                                                                
fclose ($fp);
?>



Nou is mijn vraag hoe ik ervoor zorg dat de tekst afbreekt. Ik heb op verschillende sites al een aantal codes gezien maar geen idee hoe ik het goed kan toepassen in mijn script. ($data is de tekst die hij op de site zet voor alle duidelijkheid :P)

Ik hoop dat iemand me kan helpen,
Alvast bedankt,

Robert
Gewijzigd op 01/01/1970 01:00:00 door Robert
 
PHP hulp

PHP hulp

25/11/2024 11:45:33
 
Jacco Engel

Jacco Engel

01/10/2007 11:10:00
Quote Anchor link
op regel 28 :

print substr($data[6],maximaal_aantal_tekens)

Graag gedaan
 
- wes  -

- wes -

01/10/2007 11:12:00
Quote Anchor link
ik haat mensen die hun zinnen niet af
 
Robert

Robert

01/10/2007 11:19:00
Quote Anchor link
Bedankt voor je tip Jacco!

Hij breekt hem nu wel af. Alleen wil ik nog dat die hem niet zomaar afbreekt maar afsluit met "..." , dus 3 puntjes.

Is dit ook nog toe te passen?
 
Jan Koehoorn

Jan Koehoorn

01/10/2007 11:32:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo substr($data[6],maximaal_aantal_tekens) . ' ...';
?>
 
Robert

Robert

01/10/2007 11:46:00
Quote Anchor link
Harstikke bedankt :D
 
Gerben Jacobs

Gerben Jacobs

01/10/2007 12:05:00
Quote Anchor link
Heb even snel een functie geschreven om af te kappen en puntjes toe te voegen als de zin te lang is en anders niet. Het kan waarschijnlijk wel korter, maar hier is ie.
Oja, let niet op de variabel namen. Ik had een beetje lol! :) Taco taco, burrito, taco flavoured kisses!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

function wrapIt($inMyTaco, $howManyBeans=15) {
    if(strlen($inMyTaco) > $howManyBeans)
        $taco = substr($inMyTaco, 0, $howManyBeans) . "...";
    else
        $taco =& $inMyTaco;
        
    return $taco;
}

$zin = "Deze zin is veel te lang!";
$zin2 = "Deze niet!";

echo wrapIt($zin)."<BR>";
echo wrapIt($zin, 20)."<BR>";
echo wrapIt($zin2)."<BR>";

?>


Output:

Quote:
Deze zin is vee...
Deze zin is veel te ...
Deze niet!
Gewijzigd op 01/01/1970 01:00:00 door Gerben Jacobs
 
Elwin - Fratsloos

Elwin - Fratsloos

01/10/2007 12:08:00
Quote Anchor link
Gerben Jacobs schreef op 01.10.2007 12:05:
Oja, let niet op de variabel namen. Ik had een beetje lol! :) Taco taco, burrito, taco flavoured kisses!
Juist wel op letten... :D
 
Jan Koehoorn

Jan Koehoorn

01/10/2007 12:09:00
Quote Anchor link
Deze breekt af op hele woorden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    $txt
= 'The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.';
    $min_length = 50;
    if (strlen ($txt) > $min_length) {
        $eerste_spatie = strpos ($txt, ' ', $min_length);
        echo substr ($txt, 0, $eerste_spatie) . ' ...';
    }

    else {
        echo $txt;
    }

?>
 
Hein van der Wal

Hein van der Wal

16/01/2022 21:41:31
Quote Anchor link
Beste Jan,
14 (!) jaar geleden postte jij het PHP-script om zinnen af te breken. Fantastisch script met prima resultaat. In plaats van de punt "." heb ik eindeparagraaf "</p>" gebruikt. Nergens meer fouten in de html-code. Al komt dit bedankje laat, bij deze mijn grote dank.
Hein van der Wal.
 
Adoptive Solution

Adoptive Solution

16/01/2022 22:01:15
Quote Anchor link
Ook handig

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$string
= 'The quick brown fox jumps over the lazy dog';
$new_string = chunk_split( $string, 20, '<br />');

$stringArr = [];
$stringArr = explode('<br />', $new_string);
$stringArr[0] = $stringArr[0] . '...';

echo '<p>' . $new_string . '</p>';
echo '<p>' . $stringArr[0] . '</p>';
?>
 
Jan R

Jan R

17/01/2022 07:06:04
Quote Anchor link
Er bestaan trouwens unicodes voor die puntjes.

dec/hex
? 11592/2d48
???? 119552/1d300

https://www.janr.be/unicode.php?start=32&einde=140000
https://stringfixer.com/nl/...

Toevoeging op 17/01/2022 07:07:51:

Sorry blijkbaar worden de codes HIER niet juist overgenomen.
 
- Ariën  -
Beheerder

- Ariën -

17/01/2022 07:18:15
Quote Anchor link
Tja, UTF-8 mist hier. :-/
 
Adoptive Solution

Adoptive Solution

17/01/2022 09:07:05
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.