Как убрать фразу в начале строки (php, regexp)

picЯ уже писал о том, как можно упростить себе публикацию в свой дайджест.

Передо мной встала задача. Надо перед публикацией удалять некоторые фразы из заголовка. Простой пример: При публикации статьи с tesera.ru – в начале заголовка добавляется какая-то фраза, например, “Игровая сессия”. Хотелось бы убрать эти слова. Причём автоматически.

Можно воспользоваться методом, который я описывал в посте выше. Но тогда из заголовка будут убираться любые “Игровая сессия”, а мне надо только, если это встречается в начале строки.

Вот тут на помощь и приходят регулярные выражения.

Вставляем, вместо старого

$title = str_replace(' | все о настольных играх - tesera.ru','', $title);

в press-this2.php вот такой кусок:

if ( strpos($title, 'tesera.ru') !== false) {
$title = str_replace(' | все о настольных играх - tesera.ru','', $title);
$pat = array();
$pat[0] = '/^Статья /i';
$pat[1] = '/^Новость /i';
$pat[2] = '/^Игровая сессия /i';
$pat[3] = '/^Игра /i';
$title = preg_replace($pat, '', $title);
}

И из заголовка уберутся все вышеуказанные фразы если они находятся в начале строки.

Если вам это было бы удобно, но вы ничего не поняли – спрашивайте :)