Versio

Woordafkorten met punten

Door deze functie te gebruiken kan je strings afkorten naar * karakters.

Dit is handig bij bijvoorbeeld overzichten. Je kunt als extra nog een knop of link toevoegen met 'lees meer' zodat ze het niet afgekorte stukje kunnen lezen.

Voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
$tekst
= "Dit zinnetje wil ik afgekapt hebben na 15 karakters.";
$tekst = dec_str($tekst, 15);

/*
door de functie dec_str vervangt hij de
tekst '$tekst' met .. na 15 karakters.

$tekst zal nu zijn: "Dit zinnetje wi.."
*/

?>

Gesponsorde koppelingen

BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  

PHP script bestanden

  1. woordafkorten-met-punten

 

22 reacties op 'Woordafkorten met punten'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Ano Niem
Ano Niem
9 jaar geleden
 
0 +1 -0 -1
En dit voor de webmaster hier?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$afgekort
= "$line";
?>
Bas Kreleger
Bas Kreleger
9 jaar geleden
 
0 +1 -0 -1
tsjah, aangepast :) check de datum ;-) toen stond ik nog in baby schoentjes
Wiebe
Wiebe
9 jaar geleden
 
0 +1 -0 -1
Ik ben zelf nog niet zo handig met php en heb een vraagje over het script, hoe je het toe moet passen. Ik heb deze code:

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
<?php

$i
=0;
$bestanden = array();
$map = opendir($ArtikelenMapBooks);
while ($file = readdir($map)) {
if (($file != ".") && ($file != "..") && ($file != "index.php") && strstr($file,"php") && !strstr($file,"_rating")) {
include("$ArtikelenMapBooks$file");
$file = eregi_replace('.php$','',$file);
echo("<a href='$ArtikelenBestandBooks$T"."?artikel=$file'>$Titel</a><br>\n");
}
}

closedir($map);

?>


En dan wil ik $Titel afkorten. Hoe moet je dit dan neerzetten. ($Titel verschilt de hele tijd)
The Beeding Clown
The Beeding Clown
9 jaar geleden
 
0 +1 -0 -1
Handy Bas..
Werkt prima, ik ga um zeker gebruiken.

[miereneuk_mode]
Op deze manier is ie iets sneller. ;)
[/miereneuk_mode]

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
function dec_str($str, $len)
{

  return strlen($str) > $len ? substr($str, 0, $len).'..' : $str;
}

?>
Wiebe
Wiebe
9 jaar geleden
 
0 +1 -0 -1
Maar 0 moet dus het aantal letters zijn dat je wilt afkorten en waar moet je de afgekorte tekst plaatsen op $line? Dus $line moet $titel worden?

Ik heb tussen de <head> tags dit staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$tekst
= $Titel;
$tekst = dec_str($tekst, 15);
?>


En de andere code heb ik al een keer op de plek gezet van $Titel

Dit werkt niet, hoe moet ik dit neerzetten?
Sean
Sean
9 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
function dec_str ($line, $len = 30, $end = '..')
{

    if (strlen ($line) > $len)
        $return = substr ($line, 0, $len) . $end;

    return $return;
}

?>


dit is dan nog wel wat efficienter...

Edit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// van een eerdere reactie van iemand
function dec_str($str, $len)  
{
  
  return strlen($str) > $len ? substr($str, 0, $len).'..' : $str;
}

?>


is wel leuke manier, maar je maakt nog steeds gebruik van een else... terwijl dat in dit geval helemaal niet nodig is... efficientste is toch dat van mij dan
The Beeding Clown
The Beeding Clown
9 jaar geleden
 
0 +1 -0 -1
@sean
Als de length van de string die je jou functie voert < 30 is returned ie een lege variable :rolleyes:
klein schoonheids foutje ;)

Edit:

Net effe bijde functies getest in een forloop, 100.000x laten loopen
jouwe 0.60 a 0.61 sec parse time
mijne 0.47 a 0.48 sec parse time
Wiebe
Wiebe
9 jaar geleden
 
0 +1 -0 -1
Kan iemand antwoord geven op mijn vraag?
The Beeding Clown
The Beeding Clown
9 jaar geleden
 
0 +1 -0 -1
@wiebe
Je moet de functie de title voeren...

dec_str($Titel, 15);

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
<?php

$i
=0;
$bestanden = array();
$map = opendir($ArtikelenMapBooks);

while ($file = readdir($map))
{

  if (($file != ".") && ($file != "..") && ($file != "index.php") && strstr($file,"php") && !strstr($file,"_rating"))
  {

    include("$ArtikelenMapBooks$file");
    $file = eregi_replace('.php$','',$file);
    echo '<a href="'.$ArtikelenBestandBooks$T.'?artikel='.$file.'">'.dec_str($Titel, 15).'</a><br>';
  }
}

 
closedir($map);

?>
Sean
Sean
9 jaar geleden
 
0 +1 -0 -1
hmm nano.. die van jou is dus blijkbaar toch sneller :p (mijn fout)

owja die return fout had ik gemaakt omdat ik het hier aan het editen was dus had niet echt een overzicht :p
Wiebe
Wiebe
9 jaar geleden
 
0 +1 -0 -1
Dus als ik het bovenstaande verander en ik plaats de code ergens op de pagina moet het lukken?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
The Beeding Clown
The Beeding Clown
9 jaar geleden
 
0 +1 -0 -1
@wiebe
Jup.. effe die functie erbij copy pasta-en en je code iets veranderen, dan zou ie het moeten doen.. succes
Wiebe
Wiebe
9 jaar geleden
 
0 +1 -0 -1
Ja maar mijn code veranderen is juist het moeilijke. Ik zou niet weten hoe je dat toe kan passen zonder dat het script niet meer werkt.
Francois
Francois
9 jaar geleden
 
0 +1 -0 -1
Is er ook een script mogelijk waarbij je een maximaal aantal karakters ingeeft, maar de zin alleen afgekort wordt bij hele woorden (dus bij spaties)?
Ik vind "Dit zinnetje wi.." namelijk geen mooi resultaat. Ik zou in dit geval "Dit zinnetje wil.." of "Dit zinnetje.." mooier vinden...

Iemand?
Wiebe
Wiebe
9 jaar geleden
 
0 +1 -0 -1
Je bedoelt dit: http://www.phphulp.nl/php/scripts/2/195/

Maar ik wil die code graag toegepast hebben in mijn script, weet iemand hoe dat moet?

Je moet denk ik zelf wat in elkaar flansen hiervoor. Meng ze met elkaar :)
Wiebe
Wiebe
9 jaar geleden
 
0 +1 -0 -1
Het is gelukt
Something Else
Something Else
9 jaar geleden
 
0 +1 -0 -1
wiebe vertel hoe etc? :)
Eersels
Eersels
3 jaar geleden
 
0 +1 -0 -1
hoi,

ik ben niet zo goed met zelf coden in php.
Ik zou dit willen laten afkorten, zodat er maar 30 tekens te zien zijn.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $row_rsTweedehands['Opties']; ?>


Hoe doe ik dat?
Michael -
Michael -
3 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo dec_str($row_rsTweedehands['Opties'], 30);
?>
Daan Van den ende
Daan Van den ende
12 maanden geleden
 
0 +1 -0 -1
Ik heb op dit moment ook zo'n script nodig alleen dit script wil niet werken is er mischien een andere manier om een tekst na 30 tekens af te kappen?
Daan Van den ende
Daan Van den ende
12 maanden geleden
 
0 +1 -0 -1
Bedankt het is gelukt xD Ik was waarschrijnlijk een beetje door de war xD heel erg bedankt

Om te reageren heb je een account nodig en je moet ingelogd zijn.

  • Labels
  • Geen tags toegevoegd.