Linuchs: Frefox 119.0.1 <i> tag wird nicht ausgeführt, sondern angezeigt.

10:49 Bevor sich jemand reinkniet, ich habe da einen Verdacht ...

10:53 ja, den generierten String übergebe ich mit htmlspecialchars( $row['bezeichnung1'] )

also falscher Alarm. Seltsam, dass das bei [Untersuchen] verschwiegen wird.

Moin,

wenn ich mit einem Teilstring suche, z.B. schoko, dann möchte ich alle Artikelbezeichnungen, die schoko enthalten.

Bei der Anzeige soll der Suchbegriff rot eingefärbt werden, aber Firefox zeigt dieses:

Natürlich habe ich mir das unter [Untersuchen] angesehen:

und verstehe nicht, warum <i> nicht ausgeführt wird. Erst als ich den Part aus der Konsole (äußeres HTML) hierher kopiere, sehe ich Seltsames:

<td title="artikel_id=8">
  <a href="/?zp=p202&amp;artikel_id=8">&lt;i class='crot'&gt;Schoko&lt;/i&gt;lade Honig-Salz-Mandel&nbsp;</a>
</td>

Mit PHP generiere ich das so:

    if ( $cookie_bezeichnung1 ) {
      // GESUCHTE ZEICHEN bezeichnung1 MARKIEREN
      $heystack = mb_strtolower( $row['bezeichnung1'] );
      $needle   = mb_strtolower( $cookie_bezeichnung1 );

      $start_pos = mb_strpos( $heystack, $needle );
      $row['bezeichnung1'] =
      mb_substr( $row['bezeichnung1'],0,$start_pos )
      ."<i class=crot>".mb_substr( $row['bezeichnung1'],$start_pos,mb_strlen($needle) )."</i>"
      .mb_substr( $row['bezeichnung1'],$start_pos +mb_strlen($needle) );
    }

Woanders funktioniert das dutzende Male, was ist in diesem Fall falsch?

Das Programm ist leider nicht öffentlich.

Gruß, Linuchs

  1. Hallo,

    10:53 ja, den generierten String übergebe ich mit htmlspecialchars( $row['bezeichnung1'] )

    also falscher Alarm. Seltsam, dass das bei [Untersuchen] verschwiegen wird.

    Mit [Untersuchen] siehst du, was beim Browser ankommt bzw. was der Browser daraus macht. Du siehst nicht, was dein PHP-Script auf dem Server alles anstellt, vor dem Abschicken…

    Gruß
    Kalk

  2. @@Linuchs

    Mit PHP generiere ich das so:

    Weitaus interessanter wäre der Teil, den du verschweigst: wo du $row['bezeichnung1'] ins Markup schreibst.

    mark wäre übrigens das richtige HTML-Element, nicht i.

    Kwakoni Yiquan

    --
    Ad astra per aspera