Пример обрезания всего лишнего в метатегах. Удаление всего кроме такса (html тегов и плейсхолдеров).
Генерация метатегов
25.07.2018
foreach($aRows as $oRow)
{
$oTable = JTable::getInstance('Item', 'SoBlogTable');
$oTable->load($oRow->id);
if ($oTable->intro)
{
$sTMP = $oTable->intro;
}
else
{
$sTMP2 = preg_replace('|<pre>(.*?)</pre>|si', '', $oTable->text);
$sTMP2 = preg_replace('|<table class="source-code"(.*?)</table>|si', '', $sTMP2);
$sTMP = $oTable->title .' '. $sTMP2;
}
$sTMP = str_replace(array("\n", "\r", "\t"), ' ', strip_tags($sTMP));
$sTMP = str_replace(' ', '', $sTMP);
$oTable->meta_description = substr($sTMP, 0, 250);
$oTable->store();
}