Schrift
[thread]747[/thread]

HTML in Perl: Kann ich HTML in Perl verwenden?



<< >> 7 Einträge, 1 Seite
Gast Gast
 2006-06-07 14:42
#7932 #7932
Hallo,

ich will mir so ein "&copy" in mein TK programm reintun,aber es geht irgendwie nicht.

Code: (dl )
1
2
my $copy_ze = "&copy";   
my $copyright = $prog->Label(-text=> $copy_ze. "2006, by Daniel Cip ")->pack();


warum will es nicht gehen bzw. wie würde es gehen?

Gruss Thomas Fuchs
lichtkind
 2006-06-07 14:49
#7933 #7933
User since
2004-03-22
5679 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
es gibt soweit ich weiss html-controls in tk aber was bitte soll &copy für eine coderef sein? mehr infos helfen immer deine frage gut zu beantworten.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
renee
 2006-06-07 15:07
#7934 #7934
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
&copy soll wohl das HTML-Entity &copy; sein und ein copyright-zeichen darstellen. Das wird so nicht funktionieren. Du kannst aber mit den Unicode-Namen arbeiten:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;
use Tk;
use charnames ':full';

my $mw = tkinit();
my $copy = "\N{COPYRIGHT SIGN}";
$mw->Label(-text => $enc_copy)->pack();
MainLoop;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2006-06-07 19:21
#7935 #7935
[quote=renee,07.06.2006, 13:07]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;
use Tk;
use charnames ':full';

my $mw = tkinit();
my $copy = "\N{COPYRIGHT SIGN}";
$mw->Label(-text => $enc_copy)->pack();
MainLoop;
[/quote]
Also zu Ihrem Beitrag:
es gibt soweit ich weiss html-controls in tk aber was bitte soll &copy für eine coderef sein? mehr infos helfen immer deine frage gut zu beantworten.

die Antwort:

wenn man in eine HTML Datei so etwas reinschreibt(&copy,&nbsp;)
, wird es ja wirklich so ein Zeichen werden.

Zu renee's Antwort:

Vielen Danke Renee.
Und würde es auch ein wenig einfacher gehen?
Gruß Thomas
renee
 2006-06-07 19:43
#7936 #7936
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Noch einfacher?? Was ist daran umständlich?

Da ist übrigens noch ein Fehler drin. Statt $enc_copy muss es nur $copy heißen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2006-06-07 22:20
#7937 #7937
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Man könnte rauskriegen, welchen Unicode-Codepoint das Zeichen hat und diesen hereinschreiben: \x{a9}

Nicht-nummerische HTML-Entitys würde ich meiden, soweit es geht. Nummerische HTML-Entitys sind sicherer, insbesondere wenn man XML-Validierung machen will.
ptk
 2006-06-07 22:32
#7938 #7938
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Und wenn man tatsächliche Entitys benutzen möchte, dann kann man HTML::Entities bemühen:
Code: (dl )
1
2
3
4
$ perl -MHTML::Entities -e 'warn HTML::Entities::encode_entities("\x{20ac}")'
&euro; at -e line 1.
$ perl5.8.8 -MHTML::Entities -e 'binmode STDOUT, ":utf8"; print HTML::Entities::decode_entities("&euro;"), "\n"'
(Drei Bytes für das utf-8-Zeichen)

Letzteres benötigt aber ein einigermaßen aktuelles Perl und HTML::Entities; mit perl 5.8.0 und HTML::Entities 1.27 geht es nicht.
<< >> 7 Einträge, 1 Seite



View all threads created 2006-06-07 14:42.