webForumDet fria alternativet

Html-taggar i forum

3 svar · 212 visningar · startad av copyscripts

copyscriptsMedlem sedan okt. 200015 inlägg
#1

Hur fixar jag mitt forum så att om man skriver in "tagtexttag" så det blir just "tagtexttag" ?
Forumet finns på http://copyscripts.hypermart.net/wwwboard.html
tag ska givetvis vara < och >

------------------
/Henrik Karlzén

FlashXMedlem sedan nov. 1999992 inlägg
#2

Du använder ett uttryck där man omvandlar tecknen.

$* =~ s/</</g;
$* =~ s/>/>/g;

$* ersätts med den variabel som innehåller själva meddelandet.
Är nog lite olika beroende på forum men kan vara något liknande $message eller dyligt.

[Redigerat av FlashX den 30 okt 2000]

copyscriptsMedlem sedan okt. 200015 inlägg
#3

Jag fattar inte.
Just nu använder jag en textremsa som gör att tagtexttag blir tag;texttag; Jag vill att tagtexttag ska bli tagtexttag istället.Hur lyckas jag med det? (tag = < och > )

Forumet finns här: http://copyscripts.hypermart.net/wwwboard.html

Såhär ser Perlscritpet ut (jag har inte med hela):

#!/usr/local/bin/perl

# Variabler
($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell,)=getpwuid($> );
$basedir = "/data1/hypermart.net/copyscripts";
$baseurl = "http://copyscripts.hypermart.net/";
$cgi_url = "http://copyscripts.hypermart.net/wwwboard.pl";

$mesgdir = "messages";
$datafile = "data.txt";
$mesgfile = "wwwboard.html";
$faqfile = "faq.html";

$ext = "html";

$title = "Min WWWBoard";

$show_faq = 1; # 1 - YES; 0 = NO
$allow_html = 0; # 1 = YES; 0 = NO
$quote_text = 1; # 1 = YES; 0 = NO
$subject_line = 0; # 0 = Quote Subject Editable; 1 = Quote Subject
# UnEditable; 2 = Don't Quote Subject, Editable.
$use_time = 1; # 1 = YES; 0 = NO

$show_poster_ip = 1; # 1 = Show the IP of every poster; 0 = Don't
$enforce_max_len = 2; # 2 = YES, error; 1 = YES, truncate; 0 = NO
%max_len = ('name', 25,
'email', 50,
'subject', 40,
'url', 70,
'url_title', 80,
'img', 150,
'body', 3000,
'origsubject', 43,
'origname', 28,
'origemail', 53,
'origdate', 50);
# Done
###########################################################################

# Get the Data Number
&get_number;

# Get Form Information
&parse_form;

# Put items into nice variables
&get_variables;

# Open the new file and write information to it.
&new_file;

# Open the Main WWWBoard File to add link
&main_page;

# Now Add Thread to Individual Pages
if ($num_followups >= 1) {
&thread_pages;
}

# Return the user HTML
&return_html;

# Increment Number
&increment_num;

############################
# Get Data Number Subroutine

sub get_number {
open(NUMBER,"$basedir/$datafile");
$num = <NUMBER>;
close(NUMBER);
if ($num == 999999 || $num !~ /^\d+$/) {
$num = "1";
}
else {
$num++;
}
}

#######################
# Parse Form Subroutine

sub parse_form {
local($name,$value);

# Get the input
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

# Split the name-value pairs
@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);

  \# Un-Webify plus signs and %-encoding
  $value =\~ tr/+/ /;
  $value =\~ s/%(\[a-fA-F0-9\]\[a-fA-F0-9\])/pack("C", hex($1))/eg;

  \# Remove any NULL characters, Server Side Includes
  $value =\~ s/\\0//g;
  $value =\~ s/\<!--(.&#0124;\\n)\*--\>//g;

  if ($allow_html != 1) {

$value =~ s/</\<\;/g;
$value =~ s/>/\>\;/g;

}
else {
unless ($name eq 'body') {
$value =~ s/</\<\;/g;
$value =~ s/>/\>\;/g;

$value =~ s/<!--/\<\;!--/g;
$value =~ s/-->/--\>\;/g;
}
}

  $FORM{$name} = $value;

}

# Make sure that message fields do not exceed allowed value
if ($enforce_max_len) {
foreach $name (keys %max_len) {
if (length($FORM{$name}) > $max_len{$name}) {
if ($enforce_max_len == 2) { &error('field_size'); }
else { $FORM{$name} = sprintf("%.$max_len{$name}s",$FORM{$name}); }
}
}
}
}

------------------
/Henrik Karlzén

CssonMedlem sedan feb. 2000314 inlägg
#4

Ändra de här raderna:

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">if ($allow_html != 1) {
$value =~ s/</\<\;/g;
$value =~ s/>/\>\;/g;

}
else {
unless ($name eq 'body') {
$value =~ s/</\<\;/g;
$value =~ s/>/\>\;/g;

$value =~ s/<!--/\<\;!--/g;
$value =~ s/-->/--\>\;/g;
}
}</font>

Till:

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">if ($allow_html != 1) {
	$value =~ s/</</g;
	$value =~ s/>/>/g;
}
else {
	unless ($name eq 'body') {
		$value =~ s/</</g;
		$value =~ s/>/>/g;

		$value =~ s/<!--/<!--/g;
		$value =~ s/-->/-->/g;
	}
}</font>

...så borde det fungera bättre.

/Csson

------------------
Erimax.com
Cykelsemester

129 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
127 ms — hämta tråd, inlägg och bilagor (db)