Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : makehtml



bigbuTT
12-12-2002, 12:18
Hi,

folgende Funktion stammt aus einem PerlProgramm. Ich möchte diese Funktion in PHP nutzen. Wie lässt sich das in PHP realisieren?

sub make_html {

$input = shift;
# $input =~ s/&/und/g;
$input =~ s/</&lt\;/g;
$input =~ s/>/&gt\;/g;
$input =~ s/"/&quot\;/g;
$input =~ s/\x1c/&middot;/g;
# $input =~ s/\|/pipe/g;
return $input;
}

Grüße
bigbuTT

elrond
12-12-2002, 13:53
schau dir dazu mal die ereg* php-funktionen an

mehlvogel
12-12-2002, 15:28
Was für eine Funktion soll das Ding denn mal haben? Eventuell gibt es dafür ja auch schon ne Funktio in PHP.

ereg* sollte nur verwendet werden, wenn reguläre Ausdrücke verwendet werden müssen, ansonsten sollte str_replace benutzt werden, das ist schneller.

READY
12-12-2002, 15:53
str_replace reicht für deine Zwecke schon aus, is ja nur einfaches Search&Replace.
Sonst kannste dir ja mal www.php.net/htmlspecialchars oder www.php.net/htmlentities angucken, was aber beies nicht so ganz deinen Zweck erfüllt..

MfG

sticky bit
13-12-2002, 13:33
sub make_html {

$input = shift;
# $input =~ s/&/und/g;
$input =~ s/</<\;/g;
$input =~ s/>/>\;/g;
$input =~ s/"/"\;/g;
$input =~ s/\x1c/·/g;
# $input =~ s/\|/pipe/g;
return $input;
}



=~



function make_html ($input)
{
// $input = preg_replace('/&/', 'und', $input);
$input = preg_replace('/</', '<\;', $input);
$input = preg_repace('/>/', '<\;', $input);
$input = preg_replace('/"/', '"\;', $input);
$input = preg_replace('/\x1c/', '·', $input);
// $input = preg_replace('/\|/', 'pipe', $input);

return($input);
}


So würd ichs als PERL-Mensch mit PHP-Ambitionen zumindest übersetzen...
Man kann sich natürlich streiten ob preg_replace() oder welche von den "native" PHP ereg*s, mir taugen die wenigstens etwas an PERL Reg-Ex angelehnten Funktionen mehr (RegEx macht definitif in PERL am meissten Spass!)...