login  Naam:   Wachtwoord: 
Registreer je!
 Forum

inkorten

Offline superlol - 13/07/2007 17:39 (laatste wijziging 13/07/2007 17:41)
Avatar van superlolPHP interesse Hey

Ik gebruik deze functie :
  1. function inkorten($wat, $hoelang) {
  2. if(strlen($wat)>$hoelang) {
  3. $p=$hoelang-3;
  4. $nieuw=substr($wat, 0, $p)."...";
  5. } else {
  6. $nieuw=$wat;
  7. }
  8. return $nieuw;
  9. }


Deze doet het goed, maar als ik bijv. Dit doe :
  1. inkorten("<a href='Bla.php'>test</a>", 10);


Als ik dit doe, dan rekent hij de html ook mee als tekens, maar ik moet alleen zegmaar de output inkorten, en niet met de html.
Weet iemand hoe ik dit kan oplossen?

Bvd!

12 antwoorden

Gesponsorde links
Offline Grayen - 13/07/2007 17:45
Avatar van Grayen PHP ver gevorderde Daar heb ik een functie voor geschreven:

http://www.site...mp;id=1339
Offline Anoniem - 13/07/2007 17:45
Avatar van Anoniem PHP gevorderde Door gebruik te maken van PHP.net: strip_tags.
Offline Grayen - 13/07/2007 17:50
Avatar van Grayen PHP ver gevorderde
Orange schreef:
Door gebruik te maken van PHP.net: strip_tags.

Maar dan verliest hij zijn html opmaak, het lijkt me dat hij die wilt behouden, maar alleen wilt inkorten op het aantal tekens los van het html.
Offline superlol - 13/07/2007 18:09 (laatste wijziging 13/07/2007 18:13)
Avatar van superlol PHP interesse Hi Grayen,
Thanx, maar ik krijg gewoon de html te zien op mijn site, en niet de link :
<a href='?p=leden/pb'>Priveberichten</a> - EEEEEEEEEEE...

en ik gebruik het zo :

  1. function beginmenu($titel)
  2. {
  3. echo '<table width="545" border="0" cellspacing="0" cellpadding="0">
  4. <tr>
  5. <td height="48" valign="top" background="images/menu_boven_top.jpg" style="padding-left: 4px"><div class="style7">';
  6. echo inkorten($titel, 57);

....

?
Offline Stijn - 13/07/2007 18:13
Avatar van Stijn PHP expert http://www.site...mp;id=1339 , dit script zoek jij .
Offline Grayen - 13/07/2007 18:16
Avatar van Grayen PHP ver gevorderde Kun je iets specifieker zijn?

Want doe ik:

  1. echo short("<a href='Bla.php'>test</a> - EEEEEEEEEEEEEEEEEEEEEEEEEEEE", 10);


Dan is output (in broncode):

  1. <a href='Bla.php'>test</a> - EEE...


Dat is dus het gewenste resultaat. Of bedoel je iets compleets anders?
Offline superlol - 13/07/2007 18:16 (laatste wijziging 13/07/2007 18:31)
Avatar van superlol PHP interesse Oops, ik klikte perongeluk op die link in dat artikel dat Grayen gaf,sorry 
Het is gelukt!
Bedankt iederen

==Edit==
Als er geen html tag in de string zit die ik aan de functie geef, dan geeft hij gewoon de hele string terug?
Hoe los ik dat op?
Offline Simon - 13/07/2007 20:00
Avatar van Simon PHP expert Waarom gooi je die inkorten niet enkel om de tekst bij de link...?
dus zo:
  1. echo '<a href="'.$fetch['link'].'">'.inkorten($fetch['link']).'</a>';
Offline superlol - 13/07/2007 21:47
Avatar van superlol PHP interesse Omdat de links niet altijd hetzelfde zijn en ook niet uit de database worden gehaald ofzo
zie de functie hierboven (beginmenu())
Offline Grayen - 13/07/2007 22:34 (laatste wijziging 13/07/2007 22:34)
Avatar van Grayen PHP ver gevorderde
Citaat:
Als er geen html tag in de string zit die ik aan de functie geef, dan geeft hij gewoon de hele string terug?
Hoe los ik dat op?

Bedankt voor het melden. Ik heb het script aangepast, waardoor hij ook afkort als er geen html in zit.

http://www.site...mp;id=1339
Offline superlol - 13/07/2007 23:01
Avatar van superlol PHP interesse Hi,

No problem men, heeft mij ook weer geholpen, top script man!
Bedankt iedereen!
Offline JBke - 14/07/2007 09:18 (laatste wijziging 14/07/2007 09:20)
Avatar van JBke PHP gevorderde doe eerst een controle met reguliere expressies om de html te issoleren en voer daarna de inkorten functie uit, plaats dan de html terug... breek je string anders op met explode of iets dergelijks in een array: probleem uiteraard als er dit staat <u>hallo<b>test</b>haha</u> je zal dus best eerst het aantal characters in de string berekenen en dan de maxlengte dat die mag hebben, je breekt je string op in 2 gedeeltes en op het laatste gedeelte voer je bovenstaande gedachtengang uit. Success

is toch de bedoeling dat achteraf de html terug in de zin wordt gezet he, en niet gewoon mag wegvallen??
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s