大家好我只需要截断网址,如果内容比Twitter的内容更长。如果我发帖,
这个内容到Twitter会是这样的,
“嗨...... fatthelongestdomainnameatlonglast.com/wearejustdoing ......这个”
所以对我来说,我的内容链接中的问题是锚标记。当我试图使用正则表达式检查链接并替换'href'值时。提前谢谢。
答案 0 :(得分:1)
我希望这会对你有所帮助。 demo这里
<强> HTML 强>
<a href="http://www.thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/wearejustdoingthistobestupidnowsincethiscangoonforeverandeverandeverbutitstilllookskindaneatinthebrowsereventhoughitsabigwasteoftimeandenergyandhasnorealpointbutwehadtodoitanyways.html">http://www.thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/wearejustdoingthistobestupidnowsincethiscangoonforeverandeverandeverbutitstilllookskindaneatinthebrowsereventhoughitsabigwasteoftimeandenergyandhasnorealpointbutwehadtodoitanyways.html</a>
<br>
<a href="http://www.Hello.com/page/error/view/user/1253" >http://www.Hello.com/page/error/view/user/1253</a>
<强> Jquery的强>
$(document).ready(function(){
$("a").each(function(){
//var href=$(this).attr("href");
var text=$(this).text();
var parts=text.split("/");
$(this).text(parts[2] +"/"+ parts[3].substr(0,20));
});
});
答案 1 :(得分:1)
对于php
<?php
$string="<a href='http://www.thelongestliast.com/wearejustdoingthistobdoitanyways.html'>
http://www.thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/wearejustdoingthistobestupidnowsincethiscangoonforeverandeverandeverbutitstilllookskindaneatinthebrowsereventhoughitsabigwasteoftimeandenergyandhasnorealpointbutwehadtodoitanyways.html</a>
<br>
<a href='http://www.Hello.com/page/error/view/user/1253' >http://www.Hello.com/page/error/view/user/1253</a>";
$dom = new DOMDocument;
$dom->loadHTML($string);
foreach ($dom->getElementsByTagName('a') as $node) {
$original_url = $node->getAttribute('href');
$text = explode("/", $original_url);
echo $var= "<a href='".$original_url."'>".$text[2]."/".$text[3]."</a><br>";
}
?>
答案 2 :(得分:0)
我自己在这里找到了解决方案,
$stringtest = 'sdsds <a href="http://www.thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/wearejustdoingthistobestupidnowsincethiscangoonforeverandeverandeverbutitstilllookskindaneatinthebrowsereventhoughitsabigwasteoftimeandenergyandhasnorealpointbutwehadtodoitanyways.html">http://www.thelongestlistofthelongeststuffatthelongestdomainnameatlonglast.com/wearejustdoingthistobestupidnowsincethiscangoonforeverandeverandeverbutitstilllookskindaneatinthebrowsereventhoughitsabigwasteoftimeandenergyandhasnorealpointbutwehadtodoitanyways.html</a>
<a href="http://www.yahoo.com">Yahoo</a> ddfdf';
$regexp= "/\<a.*href=\"(.*?)\".*?\>(.*)\<\/a\>+/";
$text = preg_replace_callback($regexp,
function($matches) {
if(strlen($matches[2])>57){
$returnV="<a target='_blank' href='".$matches[1]."'>".substr($matches[2],0,57).'...'."</a>";
} else {
$returnV="<a target='_blank' href='".$matches[1]."'>".substr($matches[2],0,57)."</a>";
}
return $returnV;
},
$stringtest
);
print $text;