Szövegrövidítés saját függvénnyel(Madi kérdése)

Különbség egy karakter: preg_match(sprintf('/\A(.{0,%d})[\s]\b/siu', $maxLength), $string, $result)

|(1) |(10) |(20) |(30) |(40) |(50) |(60) |(70) |(80) |(90) |(98)
Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és infrastruktúrája.

Módosított változat

  Beállított db 12: (db < az első szó karakterszámánál!   Szótöredéket nem jelenítünk meg!)
  Beállított db 13: Tulajdonostól...
  Beállított db 14: Tulajdonostól...
--------------------------------------------
  Beállított db 25: Tulajdonostól eladó...
  Beállított db 26: Tulajdonostól eladó nagyon...
  Beállított db 27: Tulajdonostól eladó nagyon...
--------------------------------------------
  Beállított db 77: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése...
  Beállított db 78: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése...
  Beállított db 79: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése...
  Beállított db 80: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és...
--------------------------------------------
  Beállított db 97: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és...
  Beállított db 98: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és infrastruktúrája.%1$s...  (db >= a karakterszámnál!)
  Beállított db 99: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és infrastruktúrája.%1$s...  (db >= a karakterszámnál!)
  Beállított db 100: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és infrastruktúrája.%1$s...  (db >= a karakterszámnál!)

Elfogadott változat

  Beállított db 12: (db < az első szó karakterszámánál!   Szótöredéket nem jelenítünk meg!)
  Beállított db 13: (db < az első szó karakterszámánál!   Szótöredéket nem jelenítünk meg!)
  Beállított db 14: Tulajdonostól...
--------------------------------------------
  Beállított db 25: Tulajdonostól eladó...
  Beállított db 26: Tulajdonostól eladó...
  Beállított db 27: Tulajdonostól eladó...
--------------------------------------------
  Beállított db 77: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a...
  Beállított db 78: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a...
  Beállított db 79: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a...
  Beállított db 80: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a...
--------------------------------------------
  Beállított db 97: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és...
  Beállított db 98: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és infrastruktúrája.  (db >= a max karakterszámnál!)
  Beállított db 99: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és infrastruktúrája.  (db >= a max karakterszámnál!)
  Beállított db 100: Tulajdonostól eladó nagyon világos panorámás a hegyekre, kiváló a közlekedése és infrastruktúrája.  (db >= a max karakterszámnál!)

Miért készítettem a TESZT-et, melynek forrása letölthető?

Valamiért nem tetszett az általam javasolt és a kérdező által bővített([\s]) megoldás és egy kis tesztnek vetettem alá, hogy miért nem működik jól a különböző karakterszám/szóvég esetekben a "beállás". Mivel az ékezetes karakterekre gyanakodtam, ezért egy kis keresgélés után ráakadtam a következő LINK-re, ahol a következő sorokat találtam:
"Mivel alapból a preg függvények bájtonként vizsgálnak és amennyiben UTF-8-at vagy más Unicode formátumot használunk, akkor egyes karakterek több mint 1 bájtot foglalnak. Ebből következik, hogy ha nem UTF-8-ként kezeljük a karaktereket, akkor lehet hogy mást is meg fogunk találni, mint amit keresünk."