---
title: "Korta ner sträng vid punkt, frågetecken eller utropstecken"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/136852-korta-ner-sträng-vid-punkt-frågetecken-eller-utropstecken"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Melea"
published: "2005-11-02T18:09:52.000Z"
updated: "2005-11-02T18:27:31.000Z"
replies: 1
views: 452
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/136852-korta-ner-sträng-vid-punkt-frågetecken-eller-utropstecken"
---

# Korta ner sträng vid punkt, frågetecken eller utropstecken

## #1 — Melea, 2005-11-02T18:09Z

Hoj!

Säg att jag har en funktion som ser ut såhär:

```php
function Short($string, $num) {

	if (strlen($string) > $num) {
		$short_text = substr($string,0,$num-3).'...';
	} else {
		$short_text = $string;
	}

	return $short_text;

}

$string = Short('test test test. test test test! test test? test',30);
```

Hur skulle nu ett Reguljärt uttryck se ut om jag skulle vilja korta ner strängen där det finns en punkt, ett frågetecken eller ett utropstecken?
Jag vill alltså tvärt avsluta en sträng där något att dessa finns, i närheten av $num in i strängen.

Tack på förhand!

**/r** Så det inte blir några missförstånd kan jag även lägga till att jag alltså inte vill korta ner strängen vid första punkten, frågetecknet eller utropstecknet, utan det är närmast $num.

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

## #2 — Melea, 2005-11-02T18:27Z

Fick hjälp på annat håll. :) 

```php
function($string, $num) {

    return preg_replace ("/([^.?!]+)$/", "", substr($string, 0, $num));

}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/136852-korta-ner-sträng-vid-punkt-frågetecken-eller-utropstecken
