Tiny Tiny RSS Purge old entries

Purger manuellement les articles dans tt-rss pour réduire la taille de la base de données:

Supprimer les articles vieux de 15 jours (changer “INTERVAL 14 DAY” si besoin)

DELETE FROM ttrss_user_entries USING ttrss_entries, ttrss_user_entries WHERE id = ref_id AND date_entered < DATE_SUB(NOW(), INTERVAL 14 DAY) AND marked = FALSE;

DELETE FROM ttrss_entries WHERE (SELECT COUNT(int_id) FROM ttrss_user_entries WHERE ref_id = id) = 0;

Marquer tout les articles comme lu

UPDATE `ttrss_user_entries` SET `unread` = 0;

Remettre à zéro les compteurs des unreads:

DELETE FROM ttrss_cat_counters_cache;
DELETE FROM ttrss_counters_cache;

Efficace par contre d’anciens articles peuvent réapparaitre comme non-lu s’ils existent encore dans le flux (pour les flux peu mis à jour)

Source: http//tt-rss.org/forum/viewtopic.php?f=1&t=1081&p=4813

Download tt-rss pour vos flux: http://tt-rss.org/redmine/projects/tt-rss/wiki

PHP Fonctions et Regex pour nettoyer des chaînes de caractères

Enlever les caractères de ponctuations répétés:

function remove_repeated_punctuation($t)
{
    return preg_replace("/\.+/i", ".", $t);
}

Supprimer les espaces inutiles:

function no_trailing_space($t)
{
    return preg_replace("/\.(?! )/i", ". ", $t);
}

Remettre une majuscule au début de chaque phrases

function sentence_case($string) {
    $sentences = preg_split('/([.?!]+)/', $string, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
    $new_string = '';
    foreach ($sentences as $key => $sentence) {
        $new_string .= ($key & 1) == 0?
        ucfirst(strtolower(trim($sentence))) :
        $sentence.' ';
    }
    return trim($new_string);
}

Slugify Symfony (symfony-project.org)

function slugify($text)
{
    return strtolower(trim(preg_replace('/\W+/', ' ', $text)));
}

Garder uniquement les lettres et espaces utiles, supprime les numériques et les accents

$t=preg_replace('/[^[:alpha:]\s]/','',$t);

Garder uniquement les lettres et les espaces même superflus

$t=preg_replace('/[^\w\s]/','',$t);
$t=preg_replace('/\W+/',' ',$t);

Supprimer les doubles espaces

$t=preg_replace('/\s\s+/', ' ',$t);

Supprimer les caractères accentués

$t=preg_replace("/\([^\)]+\)/",'',$t)