Jag har sökt i arkivet och kollat in diverse diskussioner som handlat om hur man kan göra för att t.ex dela upp ord och strängar i små delar för att t.ex inte sabba designen på en sida osv. Har dock inte hittat något som passar mina syften.
Jag undrar nu om det på ett enkelt sätt går att kolla längden på varje enskillt ord i en sträng, och om något ord t.ex överstiger 20 tecken då klipps det av, går det att ordna?
Jag tror att preg_match_all och mönstret /\B{20,}/ borde kunna klara biffen :)
\r ... eller i alla fall kolla om det finns några såna. Sen är det väl inte helt bra att ta dela upp ord hur som helst, url:er till exempel är väl ofta längre än 20 tecken...
Ok, kollade in preg_match_all i manualen men förstår ju inte särskillt mycket om man säger så.
Provade med din version /\B{20,}/
Men det verkade inte fungera, du tror inte att du kunde visa ett komplett kodexempel med den koden du tänker dig för att lösa mitt problem?
Kanske sedan också att något kan förklara alla konstiga tecken, varför de finns där och vad de betyder (uträttar).
/ markerar början på mönstret, \B betyder "allt som inte är en ordavgränsare", {20,} betyder "det föregående mönstret tjugo gånger eller mer", i vårt fall blir alltså detta 20 eller fler konsekutiva (jag älskar det ordet ;) ) tecken som inte markerar mellanrum mellan ord, och / markerar slutet på mönstret.
Hur som helst funkade inte det som jag tänkt mig, men lösningen ser ut så här:
$txt = 'en massa långa ord';
$ptn = '/(\S{20})/'; # matcha och memorera 20 efterföljande icke-blanksteg
echo preg_replace($ptn, '\1 ', $txt);