phpbar.de logo

Mailinglisten-Archive

[php] Prob bei Beispielfunktion aus Buch

[php] Prob bei Beispielfunktion aus Buch

joerg behrens php_(at)_phpcenter.de
Sat, 22 Jun 2002 09:06:41 +0200


----- Original Message -----
From: "Kessy" <kessy_(at)_angel-eye.de>
To: <php_(at)_phpcenter.de>
Sent: Saturday, June 22, 2002 3:04 AM
Subject: [php] Prob bei Beispielfunktion aus Buch


> Huhu Liesties!
>
> Ich hab mal nochmal nen Newbieproblem..:-(
> Und zwar komme ich mit einer beispielfunktion aus meinem Buch nich
> ganz zurecht..sie funktioniert zwar..aber nich ganz so wie sie sollte
> "gg"
>
> Der Code is:
> <?
> function html_fett()
> {
>  $argc = func_num_args();
>  $tag = func_get_arg(0);
>  for ($i = 1; $i < $argc; $i++)
>  {
>       $result .= "<$tag>".func_get_args($i)."</$tag>";
>  }
[..]

Koenntest du fragen ob du das Buch umtauschen kannst? Es ist schlecht.
Aber nun zum Problem. Es sollte wohl
$result .= "<$tag>".func_get_arg($i)."</$tag>"
heissen. Da war als ein ..arg's' zuviel.

Nun zu den Sachen dir mir an dem Code nicht gefallen.
1. es wird <? anstelle <?php verwenden
2. $result ist beim ersten durchlauf der Schleife nicht initialsiert und
veranlasst den Parser zu einer Warnung. Das du den nicht zugesicht bekommst
liegt am 'falsch' eingestellten Errorreporting deiner PHP Installation (also
php.ini bzw. zur Laufzeit im Script)
3. Der Funktionsname laesst vermuten das hier nur 'fettes' HTML ausgegeben
wird. Aber misstbraucht werden tut es also bestimmt auch fuer kursiv,
underline etc.
4. Zu kompliziert.

Wer php Scripte fuer die Komandozeile schreibt der wuerde das evtl. so
machen. Aber fuer alle anderen sollte
<?php
get_formatet_html($text, $tag) {
    $tag = strtolower($tag);
    $html = '<'.$tag.'>'.htmlentities($text).'</'.$tag-'>';
    return $html;
}

echo get_formatet_html('Ich bin ein fetter Text', 'b');
?>

kuerzer und leichter verstaendlich sein. Sinn wuerde es evtl. machen hier
$tag als optionalen Parameter zumachen.

Gruss
Joerg Behrens


php::bar PHP Wiki   -   Listenarchive