Autor Zpráva
PeterCooon
Profil
Zdravím.

Na webu mám příspěvky a chtěl jsem z nich ukázat jen část textu, pod kterým by byl klasicky text Detail příspěvku. Našel jsem si na netu kód pro limit znaků, funguje jak má, ale narazil jsem problém s kódovnáním. Všude mám nastaveno kódování utf-8, ale jen na ve výpisu ukázky příspěvků to nefunguje a vidím tak otazníky. Mám pocit, že bude asi něco třeba přidat do fuknce, ale fakt netuším co přesně, protože v php se nevyznám až tak dobře. Můžete mi poradit prosím?

Tohle mám v index.php

<div class="ukazka_text">
  <?php echo get_excerpt(); ?>
   </div>

A tohle ve functions php:

¨function get_excerpt(){
$permalink = get_permalink($post->ID);
$excerpt = get_the_content();
$excerpt = preg_replace(" (\[.*?\])",'',$excerpt);
$excerpt = strip_shortcodes($excerpt);
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, 60);

$excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));
$excerpt = $excerpt.'...';
return $excerpt;

} 
Keeehi
Profil
Tak si $excerpt po každém přiřazení vypiš a zjistíš, kde je chyba.

Například místo substr by jsi měl používat mb_substr. Ovšem kromě toho, že substrátu počítá špatně počet znaků může rozbít kódování jen na konci řetězce a to jen pokud trefí zrovna vícebajtový znak.
PeterCooon
Profil
Keeehi:
Bylo to špatně napsaným mb_substr. Díky za radu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0