substr() +/- 50 Zeichen bei Trefferwort

think_deluxe

Grünschnabel
Hi,
ich würde gern einen bei meinem gesuchten wort in einem text ca. 50 zeichen davor und 50 zeichen danach anzeigen lassen....

PHP:
if (eregi($_POST[suche], $ds1[news])) {
$treffer = strstr($ds1[news], $_POST[suche]);
if (strlen($treffer) > 50) {
$treffer = substr($treffer, 0, 50);
$treffer .= " ...";
}
echo $treffer;

er zeigt mir lediglich 50 zeichen nach meinem gesuchten wort an, brauche aber noch 50 zeichen davor...

MFG und DANKE!!

think`
 
PHP:
$treffer = '';
if( ($pos = stripos($ds1['news'], $_POST['suche'])) !== false ) {
	if( $pos > 50 ) {
		$treffer .= '…';
	}
	$treffer .= substr($ds1['news'], max($pos-50, 0), strlen($_POST['suche'])+min($pos, 50)+50);
	if( strlen($ds1['news']) > $pos+strlen($_POST['suche'])+50 ) {
		$treffer .= '…';
	}
}
echo $treffer;
 
Zurück