我正在使用以下代码来修改标题并在recent posts section上显示blog:
<?php global $post;
$releaseDate = get_post_meta($post->ID, "gosterim_tarihi", true);
foreach( $images as $image ) {
$title = get_the_title();
if (strlen($title) > 20) { $title = substr($title, 0, 20) . '…'; }
$attachmentimage=wp_get_attachment_image_src( $image->ID, 'large' );
echo '<li><a href="'. get_permalink() .'" title="' . $title . '"><img src="'. $attachmentimage[0] .'" alt="'. $title .'" />'. $title .'<span>Gösterim Tarihi: ' . $releaseDate . '</span></a></li>';
} ?>
但是HTML字符实体存在问题。当我使用substr
函数修剪标题时,substr
函数也会修剪HTML字符实体。
所以我尝试使用html_entity_decode
功能,但我做得不好。
任何人都可以帮助我?
答案 0 :(得分:3)
试试这个:
$output = htmlentities(substr(html_entity_decode($input), 0, 20));
这会解码所有实体,因此substr
不会破坏任何内容。之后,您可以将所有字符编码回其实体。
答案 1 :(得分:0)
答案 2 :(得分:0)
使用此功能
<?php
function keephtml($string){
$res = htmlentities($string);
$res = str_replace("<","<",$res);
$res = str_replace(">",">",$res);
$res = str_replace(""",'"',$res);
$res = str_replace("&",'&',$res);
return $res;
}
?>
答案 3 :(得分:0)
如果您可以将html编码保留到最后一分钟,那将会更清晰,例如当你实际回显$ title字符串时。当然,这意味着你必须记住自己编码所有字符串。