Save
This commit is contained in:
@@ -2,16 +2,26 @@
|
||||
namespace front\factory;
|
||||
class Articles
|
||||
{
|
||||
static private function slugify($text) {
|
||||
$text = strtolower($text);
|
||||
$text = preg_replace('/[^\p{L}\p{Nd}]+/u', '-', $text);
|
||||
$text = trim($text, '-');
|
||||
return $text;
|
||||
}
|
||||
|
||||
static public function generateTableOfContents($content) {
|
||||
$result = '';
|
||||
$currentLevel = [];
|
||||
|
||||
preg_match_all('/<(h[1-6])([^>]*)>(.*?)<\/\1>/', $content, $matches, PREG_SET_ORDER);
|
||||
|
||||
// preg_match_all('/<(h[1-6])[^>]*>(.*?)<\/\1>/', $content, $matches, PREG_SET_ORDER);
|
||||
$firstLevel = true;
|
||||
|
||||
foreach ($matches as $match) {
|
||||
$level = intval(substr($match[1], 1));
|
||||
$headingText = strip_tags($match[2]);
|
||||
|
||||
$slug = self::slugify($headingText);
|
||||
|
||||
while ($level < count($currentLevel)) {
|
||||
$result .= '</li></ol>';
|
||||
@@ -41,6 +51,11 @@ class Articles
|
||||
urlencode(strtolower($id)),
|
||||
$match[3]
|
||||
);
|
||||
// $result .= sprintf(
|
||||
// '<a href="#%s">%s</a>',
|
||||
// $slug,
|
||||
// $headingText
|
||||
// );
|
||||
}
|
||||
|
||||
while (!empty($currentLevel)) {
|
||||
|
||||
@@ -339,4 +339,37 @@ $text = \front\factory\Articles::generateHeadersIds( $text );
|
||||
});
|
||||
<? endif;?>
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BlogPosting",
|
||||
"headline": "<?php echo $this -> article['language']['title']; ?>",
|
||||
"description": "<?php echo $this -> article['language']['entry']; ?>",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "<?php echo $author['author'];?>",
|
||||
"jobTitle": "<?php echo $author['author_position'];?>",
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "Zaufane.pl",
|
||||
"logo": {
|
||||
"@type": "ImageObject",
|
||||
"url": "https://zaufane.pl/cache/upload/filemanager/images/logo.png.webp"
|
||||
}
|
||||
},
|
||||
"datePublished": "<?php echo $this -> article[ 'date_add' ]; ?>",
|
||||
"mainEntityOfPage": {
|
||||
"@type": "WebPage",
|
||||
"url": "https://zaufane.pl/certyfikat-zaufanepl-klucz-do-zaufania-klientow-w-twojej-firmie"
|
||||
},
|
||||
"articleSection": [
|
||||
"Zaufanie klientów",
|
||||
"Marketing opinii",
|
||||
"Opinie w sklepie internetowym"
|
||||
],
|
||||
"image": "https://zaufane.pl/<?php echo $this -> article['language']['main_image']; ?>",
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user