{"id":319,"date":"2017-03-12T05:58:54","date_gmt":"2017-03-12T04:58:54","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=319"},"modified":"2017-03-12T05:58:54","modified_gmt":"2017-03-12T04:58:54","slug":"beitragsausgabe-text-vernuenftig-kuerzen","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/03\/12\/beitragsausgabe-text-vernuenftig-kuerzen\/","title":{"rendered":"Beitragsausgabe: Text vern\u00fcnftig k\u00fcrzen"},"content":{"rendered":"<p>Noch l\u00e4uft uns ja der ganze Text der Beitr\u00e4ge in die Div, und der \u00dcberschuss wird einfach durch das <em>overflow:hidden<\/em> in der style.css versteckt. Sch\u00f6ner w\u00e4rs nat\u00fcrlich, man w\u00fcrde den Text irgendwie vern\u00fcnftig k\u00fcrzen.<\/p>\n<h2>Erster Ansatz: nur die ersten X Zeichen ausgeben<\/h2>\n<p>Das ist nat\u00fcrlich am einfachsten und l\u00e4\u00dft sich mit einem substr() ganz einfach realisieren. Ich f\u00fcge noch eine &#8222;weiterlesen&#8220;-Marke mit ein ([..]) und lege auch auf die nochmal den Link zum Beitrag. Unser post_content steckt nach wie vor in der Variable $akt_text, und ich k\u00fcrze ab Position 0 (Null) auf 100 Zeichen, das schreibt sich dann so:<\/p>\n<pre>$rest_anfang = substr($akt_text, 0,100);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo $rest_anfang.\"&lt;a href = '\".$akt_link.\"'&gt; [...]&lt;\/a&gt;\";<\/pre>\n<p>Das k\u00fcrzt dann nat\u00fcrlich den Text auch gnadenlos mitten im Wort, l\u00e4\u00dft sich leider nicht verhindern.<\/p>\n<div id=\"attachment_320\" style=\"width: 508px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-320\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-320\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/text_kuerzen_substr150.jpg\" alt=\"text_kuerzen_substr\" width=\"498\" height=\"660\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/text_kuerzen_substr150.jpg 498w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/text_kuerzen_substr150-226x300.jpg 226w\" sizes=\"(max-width: 498px) 100vw, 498px\" \/><p id=\"caption-attachment-320\" class=\"wp-caption-text\">text_kuerzen_substr<\/p><\/div>\n<p>Sch\u00f6ner w\u00e4rs, wenn die W\u00f6rter nicht abgeschnitten werden. Dazu fallen mir zwei Ans\u00e4tze ein.<\/p>\n<h2>K\u00fcrzen auf den ersten Satz<\/h2>\n<p>Es ist halbwegs realistisch anzunehmen da\u00df in meinen Kochrezepten jeder erste Satz eines Rezeptes mit einem Punkt endet. Deswegen kann man hier z.B. mit explode() arbeiten (s. <a href=\"http:\/\/php.net\/manual\/de\/function.explode.php\">PHP-Manual<\/a>) und nur den ersten Wert des Arrays ausgeben, dann hat man im Normalfall einen ganzen Satz.<\/p>\n<pre>$erster_satz = explode(\".\",$akt_text);\r\necho $erster_satz[0].\"&lt;a href = '\".$akt_link.\"'&gt; [...]&lt;\/a&gt;\";<\/pre>\n<p>Ergebnis:<\/p>\n<div id=\"attachment_321\" style=\"width: 489px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-321\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-321\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/text_kuerzen_erster_satz.jpg\" alt=\"text_kuerzen_erster_satz\" width=\"479\" height=\"471\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/text_kuerzen_erster_satz.jpg 479w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/text_kuerzen_erster_satz-300x295.jpg 300w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><p id=\"caption-attachment-321\" class=\"wp-caption-text\">text_kuerzen_erster_satz<\/p><\/div>\n<p>Das gef\u00e4llt mir jetzt schon viel besser!<\/p>\n<h2>Auf die ersten X W\u00f6rter k\u00fcrzen<\/h2>\n<p>Ginge auch, mu\u00df man dem explode() halt ein Leerzeichen mitgeben und das zur\u00fcckgegebene Array mit dem Index von 0 bis X ausgeben. Mir gef\u00e4llt aber die L\u00f6sung mit dem &#8222;Ausgeben bis zum ersten Punkt&#8220; schon sehr gut, ich la\u00df das jetzt mal so.<\/p>\n<h2>Was man jetzt noch machen k\u00f6nnte<\/h2>\n<p>Schick w\u00e4re es nat\u00fcrlich, wenn man jetzt noch sehen k\u00f6nnte unter welcher Kategorie die Beitr\u00e4ge abgelegt wurden. Daf\u00fcr wirds wieder Zeit f\u00fcr ein bi\u00dfchen Fun auf der Datenbank und einen neuen Beitrag.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Noch l\u00e4uft uns ja der ganze Text der Beitr\u00e4ge in die Div, und der \u00dcberschuss wird einfach durch das overflow:hidden in der style.css versteckt. Sch\u00f6ner w\u00e4rs nat\u00fcrlich, man w\u00fcrde den Text irgendwie vern\u00fcnftig k\u00fcrzen. Erster Ansatz: nur die ersten X Zeichen ausgeben Das ist nat\u00fcrlich am einfachsten und l\u00e4\u00dft sich mit einem substr() ganz einfach [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/319"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=319"}],"version-history":[{"count":1,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/319\/revisions"}],"predecessor-version":[{"id":322,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/319\/revisions\/322"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}