webForumDet fria alternativet

Max ordlängd?

PHPur PHP

5 svar · 256 visningar · startad av Kosse

Medlem sedan juni 2000162 inlägg
Frågan#1

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?

Medlem sedan juni 20008 205 inlägg
#2

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...

------------------
All things serve the Beam!

[Redigerat av spango den 03 jul 2001]

Medlem sedan juni 2000162 inlägg
#3

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).

Medlem sedan juni 20008 205 inlägg
#4

/ 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);

\1 betyder "det i första parantesen".

------------------
All things serve the Beam!

Medlem sedan jan. 20001 006 inlägg
#5

Wordwrap?

/j

------------------
R6

Medlem sedan juni 2000162 inlägg
#6

Preg replace verkar fungera fint med din lilla formel.

Man tackar så mycket för hjälpen Spango!

139 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
136 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)