Teaser lämnar taggar öppna

_dala_'s picture

Jag noterade just att en öppen code-tagg i teasern till ett inlägg (http://groups.drupal.org/node/15344) gör att sajten ser märklig ut - efterföljande innehåll blir code-formaterat. Detta måste väl vara ganska vanligt förekommande, eller är detta bara en tillfällighet? Skulle det inte vara bra med en kontroll vid skapandet av ingress/teaser att alla taggar är slutna för att förhindra att detta sker? Alternativt strippa htmltaggar i teasern?

Bara en fundering...

Groups:
Login to post comments

Drupal 6 har detta inbyggt

frjo's picture
frjo - Mon, 2008-10-06 12:40

Drupal 6 har detta inbyggt och till Drupal 5 finns modulen HTML corrector, http://drupal.org/project/htmlcorrector.

HTML corrector är tydligen inte installerad här på groups och som enskild grupp kan man inte installera egna moduler.


Ok jag förstår. Man kan

_dala_'s picture
_dala_ - Mon, 2008-10-06 13:18

Ok jag förstår. Man kan kanske göra det i temat då? t.ex:

function close_teaser_tags($text){
  preg_match_all("#<([a-z]+)( .*)?(?!/)>#iU", $text, $result);
  $open = $result[1];
  preg_match_all("#</([a-z]+)>#iU", $text, $result);
  $close = $result[1];
 
  if(count($open) == count($close)){
    return $text;
  }
  else {
    $diff = array_diff($open, $close);
    $post_text = "</".join("></", array_reverse($diff)).">";
    return $text . $post_text;
  }
}


En enskild grupp har ingen

frjo's picture
frjo - Wed, 2008-10-08 12:39

En enskild grupp har ingen kontroll över temat heller tyvärr. På http://groups.drupal.org/groups-drupal-org diskuterar man frågor som rör hela webb-platsen.

Jag tror det enklaste är att vänta tills g.d.o uppdateras till Drupal 6 vilket inte borde ligga så långt in i framtiden.


<!--break-->

TBarregren's picture
TBarregren - Wed, 2008-10-08 14:05

I väntan på att g.d.o. kör på D6 kan den som vill undvika det ovan beskrivna problemet använda <!--break--> på strategisk plats.

OBS: Det skall ej vara blanktecken mellan <!-- och break och -->.

Tips: Om man vill att hela texten skall synas så kan man placera <!--break--> sist.

Thomas BarregrenimBridge