I am trying to create a table of content for article content. The problem I am facing right now looks like this:
$section1 = " <h2>1. Section 1 headline<h2> <p>Lorem ipsum dolor sit amet, <strong>{$consectetur}</strong> adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>" $section1a = " <h2>1.a Section 1a headline<h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>" $section1b = " <h2>1.b Section 1b headline<h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>" $section2 = " <h2>2. Section 2 headline<h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>" I want to output:
Table of Contents:
Section 1 headline
1.a Section 1a headline
1.b Section 1b headline
Section 2 headline
Section 3 headline
1. Section 1 headline
Lorem ipsum dolor sit amet, variablevalue adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1.a Section 1a headline
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1.b Section 1b headline
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
2. Section 2 headline
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
What would be the best way to track the index of table of contents dynamically in PHP? The reason I need these dynamic is so that if someone decides to not print section 3, section 4 would automatically become section 3 in table of contents and in the body.
What have I tried so far?
So far, I tried wrapping my variable inside a function. For example:
function section1output = ($tocindex,$consectetur) { $section[1] = " <h2>{$tocindex}. Section 1 headline<h2> <p>Lorem ipsum dolor sit amet, <strong>{$consectetur}</strong> adipiscing elit. Morbi id pharetra nunc. Praesent imperdiet, libero eget pharetra posuere, eros odio sagittis ante, vel commodo nulla nisl nec nibh. Sed nec finibus quam. Mauris vel erat tempor, egestas sapien at, interdum mauris. Cras at tortor sit amet lorem molestie mattis non vel nunc. Cras maximus enim eu dolor vestibulum venenatis et sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>" return $section1; } And then I would use a for loop to output the sections and generate the table of content simultaneously.
However, this is making my code quite messy because there are about 30 variables being passed from the post data.
Is there a better way to generate the dynamic table of content I am after?