login  Naam:   Wachtwoord: 
Registreer je!
 Forum

eindig een substr met een link (Opgelost)

Offline Vitrix - 16/03/2009 10:15 (laatste wijziging 16/03/2009 10:16)
Avatar van VitrixNieuw lid Ik ben bezig met een soort agenda aan het programmeren.
Deze laatst eerst kopjes met een omschrijving zien, wanneer deze tekst groter dan 700 characters is dan wordt deze ingekort en kom er een link te staan zodat ze de volledige omschrijving kunnen zien.
Dit werk allemaal goed op 1 punt na, wanneer deze in een link stop dan werkt de lees verder link niet.
Hoe kan je controleren of de laatste tekst niet het begin van een link is?

Plaatscode: 113611

2 antwoorden

Gesponsorde links
Offline marten - 16/03/2009 10:34
Avatar van marten Beheerder
  1. // van PHP.net
  2. function even_better_wordwrap($str,$cols,$cut) {
  3. $tag_open = '<';
  4. $tag_close = '>';
  5. $count = 0;
  6. $in_tag = 0;
  7. $str_len = strlen($str);
  8. $segment_width = 0;
  9.  
  10. for ($i=0 ; $i<=$str_len ; $i++){
  11. if ($str[$i] == $tag_open) {
  12. $in_tag++;
  13. } elseif ($str[$i] == $tag_close) {
  14. if ($in_tag > 0) {
  15. $in_tag--;
  16. }
  17. } else {
  18. if ($in_tag == 0) {
  19. $segment_width++;
  20. if (($segment_width > $cols) && ($str[$i] != " ")) {
  21. $str = substr($str,0,$i).$cut.substr($str,$i+1,$str_len-1);
  22. $i += strlen($cut);
  23. $str_len = strlen($str);
  24. $segment_width = 0;
  25. }
  26. }
  27. }
  28. }
  29. return $str;
  30. }


Hopelijk kan je daar wat mee.
Offline Vitrix - 16/03/2009 11:15 (laatste wijziging 16/03/2009 11:56)
Avatar van Vitrix Nieuw lid Ik krijg die helaas niet goed aan het werk, als ik bijvoorbeeld str_len handmatig op 600 sta dan laat die nog de volledige tekst zien ipv tot 600 characters te tonen.
Maar ik zal kijken of ik hem zelf iets kan aanpassen.

-- edit --
Ik heb hem veranderd naar het volgende en tot dus ver lijk het goed te werken: Plaatscode: 113648
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.192s