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
3 svar · 212 visningar · startad av copyscripts
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
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]
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/\<!--(.|\\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
Ä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