Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11687[/thread]

Kurzes Ersetzungsscript, wer kann es ergänzen?



<< >> 10 Einträge, 1 Seite
Gast Gast
 2008-04-22 17:16
#108731 #108731
Hallo.

Das folgende kurze Script ersetzt einen beliebigen Link durch die Worte "Link zum Thema". Der Link wird dabei durch $1 wieder aufgegriffen.
Was muss ich zu diesem Script ergänzen, damit ich ein paar Worte, die ich mit zum Beispiel den Zeichen _wort_ hinter dem Link aufführe, als $2 aufgreifen kann innerhalb des Scripts?

Ich bin totaler Perl-Anfänger. Also wer könnte mir helfen?
Code: (dl )
$zusatz =~ s/(http:\/\/.*?\s)/<a href=\"$1\" class=\"link\" target=\"_blank\">Link zum Thema<\/a><br>/g;


Danke für Eure Hilfe.

Lars.
renee
 2008-04-22 17:19
#108733 #108733
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Erklär mal bitte genauer.. Wo willst Du was aufführen und wie soll es am Ende aussehen?
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/
lids
 2008-04-22 17:21
#108734 #108734
User since
2008-04-22
15 Artikel
BenutzerIn
[default_avatar]
Ich hab mir mal einen User angelegt.

Das macht aus http:///www.irgendwasundsoweiter.de "Link zum Thema" mit einem a href dahinter.

Und ich möchte, dass da dann anstelle von "Link zum Thema" etwas steht, was ich fest definieren kann. So zum Beispiel "Der Link Irgendwas".

Beispiel: Zur Zeit ist es so.

<a href="http://www.irgendwasundsoweiter/">Link zum Thema</a>

Und ich möchte es so

<<a href="http://www.irgendwasundsoweiter/">Der Link Irgendwas (das möchte ich frei eingeben können)</a>

Verstehst Du?

Lars.
renee
 2008-04-22 17:26
#108735 #108735
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Meinst Du so etwas:
Code (perl): (dl )
1
2
3
4
my $string = "irgendein text http://test.example _wort_ noch was";
$string =~ s!(http://.*?)\s_(.*?)_!<a href="$1" class="link" target="_blank">$2</a>!g;

print $string;


Code: (dl )
irgendein text <a href="http://test.example" class="link" target="_blank">wort</a> noch was
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/
renee
 2008-04-22 17:29
#108736 #108736
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Oder
Code (perl): (dl )
1
2
3
4
5
my $text = 'Irgendwas anderes';
my $string = "irgendein text http://test.example _wort_ noch was";
$string =~ s!(http://.*?)\s!<a href="$1" class="link" target="_blank">$text</a> !g;

print $string;


Am einfachsten ist es, wenn Du einen Beispieltext postest und was dann am Ende rauskommen soll - aber bitte die code-Tags verwenden!
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/
lids
 2008-04-22 17:32
#108737 #108737
User since
2008-04-22
15 Artikel
BenutzerIn
[default_avatar]
Quasi ja.
Aber bei Dir kann ich das _wort_ nicht beeinflussen über mein Eingabeformular, oder?
Ich möchte, dass jedes beliebige zwischen den beiden _ einfach so übernommen wird, wie es auch mit dem Link funktioniert.

Also:

Ich gebe http://test.example/ _Test_ ins Formular ein.
Macht
Code: (dl )
<a href="http://test.example" class="link" target="_blank">Test</a>


Ich gebe http://example.undsoweiter.de/ _Hallo_ ins Formular ein.
Macht
Code: (dl )
<a href="http://example.undsoweiter" class="link" target="_blank">Hallo</a>


Wie geht das?
renee
 2008-04-22 17:33
#108738 #108738
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Schau mal Beitrag 4 an!
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/
lids
 2008-04-22 17:35
#108739 #108739
User since
2008-04-22
15 Artikel
BenutzerIn
[default_avatar]
Habs verstanden, danke. :-)
lids
 2008-04-22 17:48
#108740 #108740
User since
2008-04-22
15 Artikel
BenutzerIn
[default_avatar]
Vielen Dank.
lids
 2008-04-25 10:45
#108845 #108845
User since
2008-04-22
15 Artikel
BenutzerIn
[default_avatar]
Wer könnte mir denn noch mal helfen?

Ich habe das Script jetzt soweit fertig, nur suche ich noch nach einer Möglichkeit, zu unterscheiden, ob es sich um ein pdf oder einen html-Link handelt.
Im Moment wird das jeder Link mit einem pdf-Symbol ersetzt.
Wie könnte man jetzt differenzieren und sagen, dass im Fall von .htm oder .html in dem Link ein anderes Symbol erscheint?

Code (perl): (dl )
1
2
3
4
$zusatz =~ s!(http://.*?)\s_(.*?)_!<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr><td width=\"33\" class=\"text\"><img src=\"graphics\/pdf_icon.gif\" width=\"30\" height=\"30\">
<\/td><td class=\"text\" valign=\"top\">$2<br><a href=\"$1\" class=\"userlink\" target=\"_blank\">
Datei im pdf-Format<\/a><\/td><\/tr><\/table>!g;
<< >> 10 Einträge, 1 Seite



View all threads created 2008-04-22 17:16.