我们使用以下代码在Wordpress网站页面的输出中显示值。但是,偶尔输出的时间太长,无法放入我们为其设置的框中,因此我们要截断它。
$markup = str_replace('%%', get_post_meta($post_id, '_sf_submission_field_'.get_the_ID(), true), htmlspecialchars_decode(get_post_meta(get_the_ID(), 'markup', true)));
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $markup);
$ret = ' ' . $text;
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\" rel=\"nofollow\">\\2</a>", $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\" rel=\"nofollow\">\\2</a>", $ret);
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
$ret = substr($ret, 1);
echo $ret;
使用substr如下$ret = substr($ret, 0, 30);
会很好,但是,输入字符串的一部分有样式div标签和其他不能被截断的文本。所以我的问题是如何截断JUST中包含URL的字符串部分......反过来不会截断href本身,因为它仍然需要是一个可点击的链接。
以下是输入字符串示例:
<i class="icon-twitter-squared"></i> http://www.stackoverflow.com/reallylongurl
...我只想将http://www.stackoverflow.com/reallylongurl
截断为www.stackoverfl...
例如 - 它需要保持可点击状态作为原始未截断的URL。
非常感谢您的建议!
答案 0 :(得分:1)