use URI::Escape qw(uri_escape);
sub {
my $t_ref = shift;
if ($$t_ref =~ /\G([^\|\]]+)(?:\|(\|[^\|\]]+))?\]/g) {
my $node_ref = "$site_base?node=" . uri_escape($1);
my $node_name = encode_entities($2 || $1);
return qq($node_name);
}
else {
return show_err("Incomplete node link?");
}
}
####
sub ret_link_by_id {
my $tracking = shift; # eg "&lastnode_id=23453"
sub {
my $t_ref = shift;
if ($$t_ref =~ /\G([1-9]\d*)(?:\|([^\|\]]+))?\]/g) {
my $node_id = $1;
my $name = $2 || get_node_name($node_id);
my $node_name = encode_entities($name);
my $url = "$site_base?node_id=$node_id$tracking";
return qq($node_name);
}
else {
return show_err("Incomplete node_id link?");
}
}
}
##
##
sub {
my $t_ref = shift;
if ($$t_ref =~ /\G([&\[\]<>\\])/g) {
return encode_entities($1);
}
}
##
##
You can link by URL like this:
\Perl Monks\