aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2017-04-24 01:37:55 +0200
committerThomas Lange <code@nerdmind.de>2017-04-24 01:37:55 +0200
commit076c34c4f25c5695059d37e1bb6a262f6b7eedb6 (patch)
tree337c021850e6a6065d338305e127950560f74d23 /core
parent1ab7ed73b0ea9d1f8597cf9b87bf272a7e6b99e6 (diff)
downloadblog-076c34c4f25c5695059d37e1bb6a262f6b7eedb6.tar.gz
blog-076c34c4f25c5695059d37e1bb6a262f6b7eedb6.tar.xz
blog-076c34c4f25c5695059d37e1bb6a262f6b7eedb6.zip
Nested function calls for generating the meta description are removed and a function was added to perform this task.
Diffstat (limited to 'core')
-rw-r--r--core/functions.php17
-rw-r--r--core/include/page/main.php2
-rw-r--r--core/include/post/main.php2
-rw-r--r--core/include/user/main.php2
4 files changed, 17 insertions, 6 deletions
diff --git a/core/functions.php b/core/functions.php
index 471c14f..c6bdb1e 100644
--- a/core/functions.php
+++ b/core/functions.php
@@ -272,10 +272,10 @@ function removeDoubleLineBreaks($string): string {
}
#===============================================================================
-# Remove line breaks and tabs from a string
+# Remove all multiple whitespace characters
#===============================================================================
-function removeLineBreaksAndTabs($string, $replace = ''): string {
- return str_replace(["\r\n", "\r", "\n", "\t"], $replace, $string);
+function removeWhitespace($string): string {
+ return preg_replace('/\s+/S', ' ', trim($string));
}
#===============================================================================
@@ -309,6 +309,17 @@ function excerpt($string, $length = 500, $replace = ' […]') {
}
#===============================================================================
+# Return content for meta description
+#===============================================================================
+function description($string, $length = 200, $replace = ' […]') {
+ $string = removeHTML($string);
+ $string = removeWhitespace($string);
+ $string = cut($string, $length, $replace);
+
+ return $string;
+}
+
+#===============================================================================
# Generate a valid slug URL part from a string
#===============================================================================
function makeSlugURL($string) {
diff --git a/core/include/page/main.php b/core/include/page/main.php
index 925d5d9..bf3e03e 100644
--- a/core/include/page/main.php
+++ b/core/include/page/main.php
@@ -47,7 +47,7 @@ try {
$MainTemplate->set('HTML', $PageTemplate);
$MainTemplate->set('HEAD', [
'NAME' => $page_data['ATTR']['NAME'],
- 'DESC' => cut(removeLineBreaksAndTabs(removeHTML($page_data['BODY']['HTML']), ' '), Application::get('PAGE.DESCRIPTION_SIZE')),
+ 'DESC' => description($page_data['BODY']['HTML'], Application::get('PAGE.DESCRIPTION_SIZE')),
'PERM' => $page_data['URL'],
'OG_IMAGES' => $page_data['FILE']['LIST']
]);
diff --git a/core/include/post/main.php b/core/include/post/main.php
index 46937f3..dc3cbdc 100644
--- a/core/include/post/main.php
+++ b/core/include/post/main.php
@@ -47,7 +47,7 @@ try {
$MainTemplate->set('HTML', $PostTemplate);
$MainTemplate->set('HEAD', [
'NAME' => $post_data['ATTR']['NAME'],
- 'DESC' => cut(removeLineBreaksAndTabs(removeHTML($post_data['BODY']['HTML']), ' '), Application::get('POST.DESCRIPTION_SIZE')),
+ 'DESC' => description($post_data['BODY']['HTML'], Application::get('POST.DESCRIPTION_SIZE')),
'PERM' => $post_data['URL'],
'OG_IMAGES' => $post_data['FILE']['LIST']
]);
diff --git a/core/include/user/main.php b/core/include/user/main.php
index 7944f1f..79e0ea9 100644
--- a/core/include/user/main.php
+++ b/core/include/user/main.php
@@ -62,7 +62,7 @@ try {
$MainTemplate->set('HTML', $UserTemplate);
$MainTemplate->set('HEAD', [
'NAME' => $user_data['ATTR']['FULLNAME'],
- 'DESC' => cut(removeLineBreaksAndTabs(removeHTML($user_data['BODY']['HTML']), ' '), Application::get('USER.DESCRIPTION_SIZE')),
+ 'DESC' => description($user_data['BODY']['HTML'], Application::get('USER.DESCRIPTION_SIZE')),
'PERM' => $User->getURL(),
'OG_IMAGES' => $User->getFiles()
]);