ilch Forum » Allgemein » HTML, PHP, SQL,... » Probleme mit Zeichen begrenzen

Geschlossen
  1. #1
    User Pic
    Maretz ilch.de Design
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    73 Beitragspunkte
    Hallo.

    Bei einem Problem komme ich nicht weiter.
    Ausgegeben werden die letzten Newskommentare ( BBcode ).
    Sobald ich die Zeichen begrenzen will, wird der bbcode, bzw die Icons nicht mehr angezeigt, auch der Text nach dem BBcode / Icons.

    Hier mal die Box :

    <?php
    defined('main') or die('no direct access');
    $comAbf = "SELECT * FROM `prefix_koms` WHERE cat LIKE 'NEWS' ORDER BY id DESC LIMIT 0,5";
    $comErg = db_query($comAbf);
    
    if (db_num_rows($comErg) > 0)
    	{
    	echo '<div class="newnewboxout newscommenttop"><table class="table table-forum newnewboxforum">';
    	echo '<div><i class="fa fa-comments-o" aria-hidden="true"></i> Letzte Kommentare</div>';
    	while ($comRow = db_fetch_object($comErg))
    		{
    		$link = 'index.php?news-' . $comRow->uid;
    		$name = $comRow->name;
    		$text = bbcode($comRow->text);
    		$comavatar = @db_result(db_query('SELECT avatar FROM prefix_user WHERE name = "' . $name . '"') , 0);
    		$avatar = (!empty($comavatar) AND file_exists($comavatar)) ? '<img class="" src="' . $comavatar . '" alt="Avatar" />' : '<img class="" src="include/images/avatars/wurstegal.jpg" />';
    		echo '<tr>';
    		echo '<td class="commentboxavatar" style="vertical-align:middle;min-width:60px;">' . $avatar . '</td>';
    		echo '<td class="commentboxtext">' . $text . '';
    		echo '<br/><span>von ' . $name . '</span><span class="pull-right"><a title="zum Artikel" href="' . $link . '"><i class="fa fa-folder-open" aria-hidden="true"></i></a></span></td>';
    		echo '</tr>';
    		}
    
    	echo '</table></div>';
    	}
      else
    	{
    	echo '<div class="newnewboxout newscommenttop text-center">';
    	echo '<div><i class="fa fa-comments-o" aria-hidden="true"></i> Letzte Kommentare</div>';
    	echo 'Kein Kommentar vorhanden';
    	echo '</div>';
    	}
    
    ?>


    Würde mich über Tipps freuen . lächeln

    Mfg Maretz


    verwendete ilch Version: 1.1 P

    betroffene Homepage: demo.maretz.eu/mar_community_10/


    Zuletzt modifiziert von Maretz am 05.02.2017 - 18:12:28
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.254
    Beitragswertungen
    366 Beitragspunkte
    Ggf. solltest du eine Lösung via CSS (text-overflow) anstreben?

    Problematisch beim Kürzen serverseitig ist, dass du nicht mitten in HTML Tags trennen darfst, und auch nicht im "Inhalt" eines Elements, so dass das Endtag fehlt.
    Eine Lösung wäre, vor dem Aufruf von bbcode zu kürzen, aber auch dabei könntest du bbcode Tags zerstören. Allerdings würde dann kein falsches ungültiges HTML erzeugt werden.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Maretz ilch.de Design
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    73 Beitragspunkte
    Hallo Mairu.

    Vielen Dank für diese Info´s.
    Ich werde da wohl eher die Zeichenanzahl schon bei der Eingabe begrenzen. Das wird wohl der sicherste Weg sein um Darstellungsfehler zu vermeiden.
    Dachte nicht, dass es (mit BBCode) so ein Problem sein kann. lachen

    Mfg Maretz lächeln
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    blakedj06 Mitglied
    Registriert seit
    07.08.2008
    Beiträge
    197
    Beitragswertungen
    30 Beitragspunkte
    Ich würde es mit CSS machen. Was bringt Dir eine Begrenzung der Eingabe wenn genau am Ende dieser BB-Code vorkommt?

    Man könnte auch mit Regex nach vorhandenen geöffneten Tags suchen und erst nach dem passenden End Tag begrenzen. Aber wenn man ne Begrenzung von sagen wir mal 255 hat und diese Designtechnisch auch braucht würde die Regex Geschichte nichts bringen da er(je nach dem wie man es macht) die Zeichen dann hinzufügt sprich es mehr als 255 werden oder aber sie auslässt.
    1 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Maretz ilch.de Design
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    73 Beitragspunkte
    Nach einigen Versuchen bleibt doch nur die CSS Variante. So geht es dich auch ganz gut. Danke. lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten