webForumDet fria alternativet

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

PHP

1 svar · 449 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Frågan#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));

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