我正在处理如下所示的php代码,在其中我要制作 ... php中的超链接。
<div class="video-block__contlink">
<p><?php echo limit_text($stream->excerpt, 240);//wp_kses_post( $stream->excerpt ) ?></p> //Line#Z
</div>
function limit_text($text, $limit) {
if( strlen( $text ) > $limit ) {
$cut_text = substr( $text, 0, $limit );
$last_space = strrpos( $cut_text, " " );
$short_text = substr( $cut_text, 0, $last_space );
$text = $short_text." (...)"; // Line #A
}
return $text;
}
此刻,根据上述代码逻辑在行#Z处达到(240)文本限制时显示(...)
问题陈述:
在Line#A,我希望将三个点...设置为超链接。
以下是我要包含在三个点中的href链接。
<a class="video-block__titlelink" href="<?php echo esc_url( $stream->permalink ) ?>"><?php echo esc_html( $stream->title ); ?></a>
这是我尝试过的:
$url='<a href="<?php echo esc_url( $stream->permalink ) ?>">(...)</a>;
在 Line#A ,我放置了$ url而不是(...),但它不起作用。
$text = $short_text.$url;
//行号A
答案 0 :(得分:1)
基本上,您的问题可以简化为以下代码:
<b>hi</b>
此代码不会写<b><?php echo 'hi!' ?></b>
,而会写.
。问题是您不能像这样嵌套PHP标签。一旦进入PHP模式,就无法再次进入PHP模式 。
从PHP语言内部将字符串组合在一起的方法是使用字符串连接运算符,该运算符以句号(<?php echo "<b>" . 'hi' . "</b>" ?>
)编写
<b>hi</b>
这将改为写$url = '<a href="' . esc_url($stream->permalink) . '">(...)</a>';
。您的网址问题与@NiettheDarkAbsol提到的方式相同:
for (var i = 0; i < array_length_1d(left); i ++;){
if (keyboard_check(left[i])){
x -= spd;
break;
}
}