-2

最近我看到,当我将链接放在我的个人资料中时,它用问题的确切标题替换了它。所以我想知道,他们是怎么做到的?

他们用带有标题的相关链接替换了一个网址

我猜他们是通过 ajax 发送链接然后通过 php 创建链接头来做到这一点的implode ,explode。这是 Stack Overflow 的正确方式/相同方式吗?

4

2 回答 2

5

假设我像这样将上面的链接粘贴到 textarea 中

http://stackoverflow.com/questions/12444652/how-to-make-a-link-system-link-stackoverw

这就是幕后发生的事情。向以下 URL 发出 GET 请求

http://api.stackexchange.com/2.0/questions/12444652?pagesize=30&key=6AU78DZ)GcdjNjAszYmTLQ((&filter=!6G7RPxWUNTleV&site=stackoverflow.com&callback=apiCallbacks[%22stackoverflow.com%22]&_=1347774461814

该 GET 的响应是

apiCallbacks["stackoverflow.com"]({"items":[{"question_id":12444652,"title":"How to make a link system link stackoverw"}]});

从中可以检索到标题。希望这可以帮助。

于 2012-09-16T05:54:12.467 回答
4

我认为这是太多信息,无法发表评论,所以我只是将其作为答案。该程序只是简单地检索该页面上标题元素的值。

所以这是基本过程:

  1. 该程序执行正则表达式(或其他)搜索字符串中的 url。
  2. 程序获取该 url。
  3. 程序将url替换为相关的html代码:('foo'等)

更新:这是使用 php 进行第三步的方式:

$myURL = 'http://www.google.com';
preg_match('/<title>(.+)<\/title>/',file_get_contents($myURL),$matches);
$title = $matches[1];

(从这里

于 2012-09-16T05:41:06.040 回答