Új hozzászólás Aktív témák

  • DNReNTi

    őstag

    válasz spammer #13456 üzenetére

    Hali,
    Ezt most gyorsan összedobtam, lehet kókány és egyszerűbben is menne, de az első találatra kitűnően működik:
    $text = 'az összes szöveg.';
    $needle = 'keresőszó';
    $result = '';
    $difference = 100;

    $needle_length = strlen($needle);
    $needle_position = stripos($text, $needle);

    $text_tmp = substr($text, 0, $needle_position);
    $text_tmp = substr($text_tmp, -$difference);
    $space_position = strpos($text_tmp, ' ');
    $text_tmp = substr($text_tmp, $space_position+1);

    $result = $text_tmp;

    $text_tmp = substr($text, $needle_position, ($needle_position+$needle_length+$difference));
    $space_position = strpos($text_tmp, ' ', $difference);
    $text_tmp = substr($text_tmp, 0, $space_position);

    $result = '...' . $result . $text_tmp . '...';
    echo $result;

    update:
    a keresőszó helyének meghatározásakor az stripos($text, $needle); megoldjá jobb mert így nem case-sensitive. ;)

Új hozzászólás Aktív témák