PHP echo-Ausgabe Text formatieren

Dome87

Commodore
Registriert
März 2008
Beiträge
4.846
Hallo,

wie kann ich den hier ausgegebenen Text

echo $_POST['username'];

z.B. per <span> formatieren?


Bin noch ganz am Anfang ;)
 
Hi,

echo "<span>";
echo $_POST['username'];
echo "</span>";

Meinst du so? Oder verstehe ich die Frage falsch?

VG,
Mad
 
Ich verstehe es auch nicht so recht, werfe nun aber "CSS" in den Raum!? :-)
 
Nein, der Text wird in diesem Falle nur ganz klein ausgegeben (entsrechend der css-datei der html-Seite) und ich möchte, dass er z.B. blau ist und 50px beträgt. Ich weiß halt nicht, an welcher Stelle ich die Tags setzen muss.
 
Code:
<?php

function convert($content) {
    if(!mb_check_encoding($content, 'UTF-8') || 
    !($content === mb_convert_encoding(mb_convert_encoding($content, 'UTF-32', 'UTF-8' ), 'UTF-8', 'UTF-32'))) {
        $content = mb_convert_encoding($content, 'UTF-8');
    }
    return htmlentities(trim($content), ENT_QUOTES, 'UTF-8');
} 



$username = convert($_POST['username']);
?>

<!-- css -->
<style type="text/css" >
span.bigblue{color:#0000aa;font-size:50px;}
</style>

<!-- html -->
<span class="bigblue"><?php echo $username; ?></span>
 
Zuletzt bearbeitet:
Dann mussu in deinem <span> oder was du auch immer benutzt halt auch noch CSS Angaben machen, damit es aussieht wie du möchtest.

btw User eingaben ungeprüft auszugeben (oder sonst wie zu verarbeiten) ist eine ganz ganz schlechte Idee.
 
btw User eingaben ungeprüft auszugeben (oder sonst wie zu verarbeiten) ist eine ganz ganz schlechte Idee.

ist ja nur zum Testen, da ich grade angefangen habe zu lernen :)

Geht das eigentlich nicht auch so?

echo "<font color=\"red\">TEXT</font>";

Aber wo dann den Tag beginnen und schließen?

EDIT: Ah, ok :)
 
Code:
echo "<font color=\"red\">" . $textvariable . "</font>";
Schön sieht anders aus.
 
Lerns direkt richtig.

echo "<font color=\"red\">TEXT</font>";

PHP sucht innerhalb von DoubleQuotes nach Variablen. Innerhalb von SingelQuotes nicht. Deshalb ist es keine gute Wahl DoubleQuotes zu nutzen und zu escapen.

Innerhalb von SingleQuotes kannst Du DoubleQuotes fürs html nutzen ohne sie escapen zu müssen.

echo '<font color="red">TEXT</font>';

Zum Rest siehe meinen Vorpost.

Userinput bei der Ausgabe in Ihre htmlentities umwandeln und das encoding überprüfen. Dazu trimmen. Wird das encoding nicht korrigiert kann es mit einigen Zeichen zu NULL ausgaben kommen. ich erinner mich da z.B. an &nbsp;


Generell sollte man html nicht über echo verarbeiten sondern mittels Alternativer Syntax nachdem alles berechnet wurde.
 
Okay, danke für die Antworten. Nochmal worum es genau ging: Es ging lediglich für mein logischen Verständinis darum, wie man die Ausgabe ganz simple formatieren kann. Dass mit dem 'username' war falsch übernommen. Der Code lautet so:

<p>Gib hier deinen Text ein:</p>
<form method="post" name="text">
<input type="text" name="text" id="text" value="<? echo $text; ?>">
<input type="submit" name="submit" value="OK!">
</form>
<?php
if(isset($_POST['text']))
echo $_POST['text'];

?>

Und da wollte ich, dass der oben eingegebene Text halt z.B. rot und groß ist. Bitte beachten, dass ich erst heute morgen mit php angefangen habe und noch so gut wie nichts weiß und schon froh bin, dass das so überhaupt funktioniert :D
 
Zuletzt bearbeitet:
Code:
<?php
function convert($content) {
    if(!mb_check_encoding($content, 'UTF-8') ||
    !($content === mb_convert_encoding(mb_convert_encoding($content, 'UTF-32', 'UTF-8' ), 'UTF-8', 'UTF-32'))) {
    $content = mb_convert_encoding($content, 'UTF-8');
    }
    return htmlentities(trim($content), ENT_QUOTES, 'UTF-8');
}
     
/* ternary operator (ein gekürztes if else) */
$text = isset($_POST['text']) ? convert($_POST['text']) : false;
?>
     
<!-- css -->
<style type="text/css" >
    span.bigred{color:#ff0000;font-size:20px;}
</style>

     
<!-- html -->
<p>Gib hier deinen Text ein:</p>
<form method="post" name="name">
<input type="text" name="text" id="text" value="<?php if ($text) : ?><span class="bigred"><?php echo $text; ?></span><?php endif; ?>">
<input type="submit" name="submit" value="OK!">
</form>
 
Zuletzt bearbeitet:
code.png

Irgendwas stimmt nicht?!
 
Weil Oma hier reichlich komisches Zeug geschrieben hat... das value-Attribut darf natürlich keine HTML-Syntax enthalten. value darf nur und ausschließlich Reintext sein.
 
Code:
<?php
function convert($content) {
if(!mb_check_encoding($content, 'UTF-8') ||
!($content === mb_convert_encoding(mb_convert_encoding($content, 'UTF-32', 'UTF-8' ), 'UTF-8', 'UTF-32'))) {
$content = mb_convert_encoding($content, 'UTF-8');
}
return htmlentities(trim($content), ENT_QUOTES, 'UTF-8');
}

if(isset($_POST['text'])){ $text  = convert($_POST['text']); $class = 'bigred'; }
else{ $text = false; $class = 'default'; }
?>
     
<!-- css -->
<style type="text/css" >
    bigred{color:#ff0000;font-size:20px;}
</style>

     
<!-- html -->
<p>Gib hier deinen Text ein:</p>
<form method="post" name="name">
<input class="<?php echo $class; ?>" type="text" name="text" id="text" value="<?php if ($text) : ?><?php echo $text; ?><?php endif; ?>">
<input type="submit" name="submit" value="OK!">
</form>

@ Daaron
Wenn mein komisches Zeug hier unerwünscht ist nur sagen.

Ich hab noch vieles nebenher zu erledigen da kann meine Aufmerksamkeit nicht zur Gänze den Banalitäten gelten.

Wo bleiben denn die Alternative?
Außer dem hier:

Code:
echo "<span>";
echo $_POST['username'];
echo "</span>";

Gibt es hier derzeit noch keine Hilfe für den TE?
 
Zuletzt bearbeitet:
Danke!

Was fehlt jetzt noch, damit der Text anstatt innerhalb außerhalb der Textbox angezeigt wird?
 
Zurück
Oben