---
title: "Max ordlängd?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15843-max-ordlängd"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Kosse"
published: "2001-07-03T18:03:00.000Z"
updated: "2001-07-04T19:18:00.000Z"
replies: 5
views: 262
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/15843-max-ordlängd"
---

# Max ordlängd?

## #1 — Kosse, 2001-07-03T18:03Z

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?

Permalänk: https://www.webforum.nu/p/15843

## #2 — spango, 2001-07-03T19:00Z

Jag tror att [preg_match_all](http://se.php.net/manual/en/function.preg-match-all.php) 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...

Permalänk: https://www.webforum.nu/p/319618

## #3 — Kosse, 2001-07-03T20:41Z

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

Permalänk: https://www.webforum.nu/p/319619

## #4 — spango, 2001-07-03T22:29Z

**/** 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".

Permalänk: https://www.webforum.nu/p/319620

## #5 — Batboy, 2001-07-04T04:47Z

[Wordwrap](http://www.php.net/wordwrap)?

/j

Permalänk: https://www.webforum.nu/p/319621

## #6 — Kosse, 2001-07-04T19:18Z

Preg replace verkar fungera fint med din lilla formel. 

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

Permalänk: https://www.webforum.nu/p/319622

---

Tråden på webben: https://www.webforum.nu/amne/php/15843-max-ordlängd
