perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 23
Click for quality!




11.02.2012 / 22:48

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  PHP: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragRegex - HTML Tag
Seitenanfang
Hallo,

gibt es eine Regex die überprüfen kann, wenn ein html-Tag geöffnet wurde aber nicht geschlossen? Ich möchte gern, das dann das entsprechende fehlende EndTag geschrieben wird.
Der Grund: Ich lese eine bestimmte Anzahl von Wörtern aus einem Artikel und erstelle so einen Teaser. Der Artikel selbst hat diese HtmlTags. Wenn nun aber dieser Beispieltext gelesen wird...

<p>Hallo ich bin Blindtext. Mehr zu Blindetexten gibt es auf <a href="http://domain.de">doma <a href="index.php?articleId=45">...zum Artikel</a>

//der externe Link sowie der Absatz wird nicht geschlossen

...ist die Seite mit dem eingebunden Teaser nicht mehr valide. Wie kann ich da Abilfe schaffen.

Vielen Dank

Thomas

Datum: 05.12.2005-21:24

Beitragre: Regex - HTML Tag
Seitenanfang
Hi,

RegExes sind für das relativ unstrukturierte HTML ziemlich ungeeignet, aber Du kannst es so machen (TreeBuilder parst das HTML, PrettyPrinter gibt formatierten und KORRIGIERTEN code aus):


#!/usr/bin/perl -w

use strict;
use HTML::TreeBuilder;

my $content = '<p>Hallo ich bin Blindtext. Mehr zu Blindetexten gibt es auf <a href="http://domain.de">doma <a href="index.php?articleId=45">...zum Artikel</a>';

my $tree = HTML::TreeBuilder->new;
$tree->parse_content($content);

my $hpp = new HTML::PrettyPrinter (
'linelength' => 130,
'quote_attr' => 1,
'allow_forced_nl'=> 1,
);

$hpp->set_force_nl(1,qw(body head table tr td));
$hpp->nl_before(2,qw(tr td p));

my $linearray_ref = $hpp->format($tree);

my $new_content = join('', @{$linearray_ref});
print $new_content;


Gruss,
svenXY

Datum: 06.12.2005-08:24

Beitragre: Regex - HTML Tag
Seitenanfang
HEj Sven,

danke für deinen Beitrag, aber ich dachte eher an eine PHP-Lösung.

Deshalb mein Beitrag im PHP-Forum

vg Thomas

Datum: 06.12.2005-11:42

Beitragre: Regex - HTML Tag
Seitenanfang
uuups, sorry, da hab ich wohl was übersehen...

Sven

Datum: 06.12.2005-15:11

-






-
-