Portal > Foren > PHP > PHP-Programmierung > Überschriften (h2-h6) nummerieren
Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 28.09.2008, 17:33 Nach oben    #1
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 464
Standard Überschriften (h2-h6) nummerieren

Ich habe einen Text aus der Datenbank:
Zitat:
<h2>Überschrift</h2>
text..
<h3>Überschrift</h3>
text..
<h3>Überschrift</h3>
text..
<h4>Überschrift</h4>
text..
<h2>Überschrift</h2>
text..

....
Den Text will ich nun parsen und die Überschriften nummerieren, sodass ich folgendes Ergebnis erhalte:
Zitat:
<h2>1 Überschrift</h2>
text..
<h3>1.1 Überschrift</h3>
text..
<h3>1.2 Überschrift</h3>
text..
<h4>1.2.1 Überschrift</h4>
text..
<h2>2 Überschrift</h2>
text..

....
Ich bin schon die ganze Zeit am rumprobieren, nur muss ich jedes mal feststellen, dass mein Ansatz totaler Schwachsinn war. Kann mir da jemand weiterhelfen?
__________________

Geändert von Corvin (28.09.2008 um 19:08 Uhr)
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2008, 19:18 Nach oben    #2
Lutz Mahlstedt
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 827
Standard

Ich würde an dieser Stelle mit einem RegEx arbeiten:

PHP-Code:
<?php
$GLOBALS
['arrayLevel'] = array (=> 0,
                                
=> 0,
                                
=> 0,
                                
=> 0,
                                
=> 0
                                
);

function 
functionReplaceHeadline ($arrayResult)
{
  
$GLOBALS['arrayLevel'][$arrayResult[1]]++;

  for (
$integerLevel $arrayResult[1] + 1;
       
$integerLevel <= 6;
       
$integerLevel++
       )
  {
    
$GLOBALS['arrayLevel'][$integerLevel] = 0;
  }

  
$arrayLevel = array ();

  for (
$integerCount $arrayResult[1];
       
$integerCount >= 2;
       
$integerCount--
       )
  {
    
array_unshift ($arrayLevel,
                   
$GLOBALS['arrayLevel'][$integerCount]
                   );
  }

  
$stringLevel implode ('.',
                          
$arrayLevel
                          
);

  return 
$arrayResult[0].$stringLevel.' ';
}

$stringText preg_replace_callback ('°<h([2-6])>°i',
                                     
'functionReplaceHeadline',
                                     
$stringText
                                     
);

echo 
$stringText;
?>
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2008, 20:42 Nach oben    #3
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 464
Standard

Vielen Dank! Das ist genau das, was ich wollte.
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.09.2008, 22:00 Nach oben    #4
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 695
Standard

nur zur komplettierung: wenn der text als xml vorliegt, geht das über xslt noch einfacher.
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Keys eines assoziativen Arrays nummerieren ex³ PHP-Programmierung 9 08.09.2007 18:28
Ebene der Überschriften für Navigation/Breadcrumb/Footer Artemis HTML, XML und CSS 2 24.12.2006 13:31
<hx> - Wie zeichnet man Überschriften richtig aus? Ben HTML, XML und CSS 28 06.01.2006 22:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47