Имеется сайт, у которого есть некий анонс состоящий из html.
Способ который я придумал:
Написать регулярку для поиска текста между тегами (нужна помощь с этим)
Пробежаться по листингу совпадений и заменить найденное на пустоту.
Не претендую на качество решения, с удовольствием посмотрю на ваши предложения, а лучше на способы реализации.
P.S: php 4.4
Есть полурабочий пример, с косяками с регуляркой из интернетаfunction truncate_html ($source, $length = 100) {
$matches = array();
preg_match_all('/(<\/?([\w+]+)[^>]*>)?([^<>]*)/', $source, $matches);
$replace_list = array();
$temp_tength = 0;
$not_replace = array('h1', 'img');
$razn = 0;
$result = $source;
foreach ($matches[3] as $key => $match) {
$tag_name = $matches[2][$key];
if (!in_array($tag_name, $not_replace)) {
$len_match = strlen($match);
$temp_tength += $len_match;
$replace_all = false;
if ($temp_tength>$length && strlen($match)!==0) {
$razn = $length - $temp_tength;
$temp_item = substr($match, $razn);
$result = str_replace($temp_item, '', $result);
$replace_all = true;
}
if ($replace_all === true) {
$result = str_replace($match, '', $result);
}
}
}
return $result;
}