Str_replace mehrere sachen filtern

  • Hey ich habe ein problem ich möchte 4 smily zeichen in smilybilder umwandeln aber wenn ich :

    mache, dann wird nur das an letzer stelle umgewandelt ;/

  • Zitat von nUtes;180625


    dämlicher typ *dummer Forum link sei*

    STIIIIRB

  • also ich will einfach nur das ":D" ":)" usw mit nem stinknormalen smily ersetzt werden keine animation aber gif datei

  • Zitat von TriLight;180666

    danke aber jetzt bekomme ich

    Code
    [COLOR=#000000][FONT=Times New Roman][B]Warning[/B]: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\test\gb.php:1) in [B]C:\xampplite\htdocs\test\gb.php[/B] on line [B]14[/B][/FONT][/COLOR]
  • EDIT:
    TriLight war schneller.
    Neue Lösung:
    Header kann nimmer gesendet werden, es fand vorher schon eine Ausgabe statt.
    Die Headerangabe war ja eig nur dazu da, um dich wieder zur index.php zurückzuleiten, daher^^
    Nutz entweder ne andere Lösung zum umleiten oder sorg dafür dass keine Ausgabe getätigt wird vor dem Header (dazu zählt auch schon ein Leerzeichen)
    3. Lösung, nimm ob_start und ob_end-Flush

  • Zitat von Script;180668

    danke aber jetzt bekomme ich

    Code
    [COLOR=#000000][FONT=Times New Roman][B]Warning[/B]: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\test\gb.php:1) in [B]C:\xampplite\htdocs\test\gb.php[/B] on line [B]14[/B][/FONT][/COLOR]


    Dann hast du wohl vor dem Aufruf der header()-Funktion bereits irgendwo eine Ausgabe stehen.

    (1) Du verlagerst alle Ausgaben hinter die Anweisung.
    (2) Du pufferst alle Ausgaben und zeigst sie erst am Ende des Skripts an. Erreichen kannst du den "Effekt" mittels ob_start() (Einfach die Funktion am Anfang deines Skripts aufrufen)

  • Zitat von Script;180676

    internetfreak
    sry das kapier ich jetzt nicht :D

    bin neu in dem Zeugs ^^

    Meinst du so ?

    [COLOR="Red"]$umwandlung = str_replace(':D', '<img src="http://www.mmorpg-core.com/forum/images/biggrin.gif">', $daten);
    $umwandlung .= str_replace(':D', '<img src="http://www.mmorpg-core.com/forum/images/biggrin.gif">', $daten);[/COLOR]


    Ja nicht, der Lösungsansatz von internetfreak war unsinnig. Du könntest das ganze aber auch so lösen:

    Code
    $daten = str_replace(
      array(':D', ':)', ':|', '>:/'),
      array('<img src="http://www.mmorpg-core.com/forum/images/biggrin.gif">', '<img src="http://www.mmorpg-core.com/forum/images/smile.gif">', '<img src="http://www.mmorpg-core.com/forum/images/none.gif">', '<img src="http://www.mmorpg-core.com/forum/images/mad.gif">'),
      $daten
    );

    Dann rufst du str_replace nur ein mal auf. :)

  • Ja so ein etwa meine ich es, obwohl es auch mit Zuweiosung geht, anders bekommen wir falsche Daten rein.
    Musst nur jedes Mal dem str_replace deine alte variable übergeben (also das $daten)
    Dann klappts auch mit deiner ersten Methode

    @Trilight
    Ja sry, hatte nich recht nachgedacht und bin auf den richtigen falschen Lösungsweg gekomen

  • Hab jetzt nur

    das rote und untendrunter vom oberen abgetrennt jetzt gehts :> danke

  • Knall doch einfach alles in ein Array ist doch viel flexibler und effektiver ode rmeinst du net?

    einfach statt $daten $daten[] machen das wars schon

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!