numerische Zeichenreferenzen
Hallo NG,
gibt es in Php eine Funktion, einen Text in numerische Zeichenreferenzen
umzuwandeln?
Also eine Funktion, die "Hallo" zu "Hallo"
umwandelt.
Danke für die Hilfe!
Gruß
Chris
Re: numerische Zeichenreferenzen
Chris Kraft schrieb:
> gibt es in Php eine Funktion, einen Text in numerische Zeichenreferenzen
> umzuwandeln?
>
> Also eine Funktion, die "Hallo" zu "Hallo"
> umwandelt.
Nicht, dass ich wüsste. Lässt sich aber mit einem kleinen 3-Zeiler
selber schreiben :-)
Gruß. Claus
Re: numerische Zeichenreferenzen
Am 16.10.2007, 12:45 Uhr, schrieb Claus Reibenstein <4spammersonly [at] web.de>:
> Nicht, dass ich wüsste. Lässt sich aber mit einem kleinen 3-Zeiler
> selber schreiben :-)
Stimmt, Danke. Kannte nur bisher die Funktion ord nicht :)
Gruß
Chris
***
function character_reference_numeric ($text) {
$codiert = "";
for ($i=0; $i<strlen($text); $i++)
$codiert .= ''.ord(substr($text, $i)).';';
return $codiert;
}
Re: numerische Zeichenreferenzen
Chris Kraft schrieb:
> Hallo NG,
>
> gibt es in Php eine Funktion, einen Text in numerische Zeichenreferenzen
> umzuwandeln?
>
> Also eine Funktion, die "Hallo" zu "Hallo"
> umwandelt.
Eine direkte Funktion gibt es nicht, aber viele Möglichkeiten, es selbst zu bewerkstelligen. Nachfolgend drei Möglichkeiten:
<?php
$in = "Hallo";
// for
for ($i=0,$out='',$l=strlen($in);$i<$l;$out.=''.ord($in{$i}).';',++$i);
echo $out,"\n";
// split/implode
$arr = str_split($in);
foreach ($arr as &$val) $val = ''.ord($val).';';
$out = implode ($arr);
echo $out,"\n";
// unpack/vsprintf
$p = unpack ("C*", $in);
$out = vsprintf(str_repeat('%d;',count($p)),$p);
echo $out,"\n";
?>
viele grüße
ralph
Re: numerische Zeichenreferenzen
Chris Kraft <spamaround [at] nurfuerspam.de> wrote:
> Also eine Funktion, die "Hallo" zu "Hallo"
> umwandelt.
Aus Spaß in Factor (http://factorcode.org/):
: string>numentitystring (str -- str)
[ [ "" % number>string % ";" % ] each ] "" make ;
"Hallo" string>numentitystring .
"Hallo"
--
Web (en): http://www.no-spoon.de/ -*- Web (de): http://www.frell.de/