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

PHP

1 svar · 452 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Trådstart#1

Hoj!

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

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.

Medlem sedan juli 20033 147 inlägg
#2

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

function($string, $num) {

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

}
262 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)