Schrift
[thread]837[/thread]

BBCodes?



<< >> 8 Einträge, 1 Seite
TrioxX
 2006-11-09 21:09
#8953 #8953
User since
2006-11-08
10 Artikel
BenutzerIn
[default_avatar]
Hallöchen,

es gibt ja das Modul HTML::BBCode , mit welchem man BBCodes wandeln könnte.

Jetzt wurde ich etwas gefragt, worauf ich selbst keine Antwort habe:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sub formatting_handler
{
my($self,$main,$text) = @_;

my @links = ('[',']');
$$text =~ s/(<a [^>]+>[^<]*<\/a>)/removeLinks(\@links,$1)/ige; # save all links and remove them

$$text =~ s/\[imgl\=\]/&#mark0;/g;
$$text =~ s/\[img\=([^\]]+)\]/<img src="$1"\>/g;

$$text =~ s/\[bl\=\]/&#mark1;/g;
$$text =~ s/\[b\=([^\]]+)\]/<b>$1<\/b>/g;;

$$text =~ s/&#mark(\d+);/$links[$1]/g; # put the links back

$$text =~ s/\[il\=\]/&#mark2;/g;
$$text =~ s/\[i\=([^\]]+)\]/<i>$1<\/i>/g;

$$text =~ s/\[ul\=\]/&#mark3;/g;
$$text =~ s/\[u\=([^\]]+)\]/<u>$1<\/u>/g;;

$$text =~ s/\[blinkl\=\]/&#mark4;/g;
$$text =~ s/\[blink\=([^\]]+)\]/<blink>$1<\/blink>/g;
}


Wie man sieht, sollen hier verschiedene BBCodes umgewandelt werden. Tuts natürlich ned.

Geht das ohne das Modul überhaupt? Ich persönlich denke eher weniger aber ich hab mich mit so einem Format Filter noch nie beschäftigt.

Wie müsste das ganze aussehen, damit es funktionieren würde?
betterworld
 2006-11-09 22:22
#8954 #8954
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Was genau geht denn nicht? Offenbar soll diese Funktion eine ganze Reihe von BBCodes ersetzen. Hast Du alle probiert, geht keiner? (In dem Fall wuerde es wohl auh reichen, wenn Du nicht alle Zeilen pastest.) Vielleicht wird die Funktion auch einfach falsch aufgerufen. Und wofuer ist $main?
TrioxX
 2006-11-09 22:45
#8955 #8955
User since
2006-11-08
10 Artikel
BenutzerIn
[default_avatar]
1. main ist für alle Plugins das zentrale Objekt, das Zugriff auf alle relevanten Daten und Methoden des Chats ermöglicht. Es wird bei jedem Plugin-Aufruf übergeben. Die Eigenschaften eines Objekts werden mit $main->{property} bzw. mit $main->{property}{subproperty} (falls die Eigenschaft selber ein Hash ist) abgerufen, die Methoden ruft man mit $main->method(param1, param2, ...) auf.

2. Getestet ist jetzt der Tag img

Unmatched [ in regex; marked by <-- HERE in m/\[img][ <-- HERE /
TrioxX
 2006-11-09 22:49
#8956 #8956
User since
2006-11-08
10 Artikel
BenutzerIn
[default_avatar]
Ich habs mal bei mir ausprobiert... Der Thread hier scheint falscher Alarm gewesen zu sein, denn ich hatte keine Probleme ^^

EDIT:

Er will, dass ein vordefinierter Text als Link umgesetzt werden kann z.B. So\n\n

<!--EDIT|TrioxX|1164280856-->
TrioxX
 2006-11-23 13:20
#8957 #8957
User since
2006-11-08
10 Artikel
BenutzerIn
[default_avatar]
Sodele...

Also weder ich noch irgendjemand in meinem Bekanntenkreis weiß eine Lösung...

$$text =~ s/\[imgl\=\]/&#mark0;/g;
$$text =~ s/\[img\=([^\]]+)\]/<img src="$1"\>/g;

Warum geht das nicht? Desweiteren besteht nachwievor das Problem, dass wir alle scheinbar zu plöde sind, eine BBCode Umwandlung zu schaffen die das o.g. umsetzen kann :-/
renee
 2006-11-23 13:33
#8958 #8958
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Gibt's ne Fehlermeldung?

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

use strict;
use warnings;

my $test = 'Ein [img=hallo] Test';
my $text = \$test;

$$text =~ s/\[imgl\=\]/&#mark0;/g;
$$text =~ s/\[img\=([^\]]+)\]/<img src="$1"\>/g;

print $$text;


funktioniert es...
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/
TrioxX
 2006-12-04 20:48
#8959 #8959
User since
2006-11-08
10 Artikel
BenutzerIn
[default_avatar]
Er hat eher Probleme mit dem URL BBCode. Der Sinn ist der gleiche

Er will halt
Code: (dl )
[url=http://www.example.com]du hast doofe ohren[/url]
machen

Also Ausgabe dann:

du hast doofe ohren

Bei dem img Tag sollte es wohl so sein, dass er per [ / img ] beendet werden soll damit man bsp. in den ersten Tag noch ein Alt-Attribut mit angeben könnte o.ä.

--- Modedit Gwendragon
URL geändert. Code-Tag hinzugefügt
Bitte hier keine existente Domains als Beispiel nehmen!
Dafür gibt es example.com!
---\n\n

<!--EDIT|GwenDragon|1165315131-->
topeg
 2006-12-04 22:10
#8960 #8960
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Wie wäre es dann so:
Code: (dl )
$text=~s|\[url=["']?(.+?)["']?\](.+?)\[/url\]|<a href="$1">$2</a>|gs

Das ist aber ungetestet.
<< >> 8 Einträge, 1 Seite



View all threads created 2006-11-09 21:09.