小白来问个 PHP 的问题好吗

2014-10-23 15:00:57 +08:00
 YAFEIML
$bt ="http://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrenthttp://www.xdytt.com/wp-content/uploads/2014/07/8af4e5816cc01962.torrenthttp://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrenthttp://www.xdytt.com/wp-content/uploads/2014/07/8af4e5816cc01962.torrenthttp://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrenthttp://www.xdytt.com/wp-content/uploads/2014/07/8af4e5816cc01962.torrent"

怎样格式化这些内容呢,不一定是这么多啊,可能少点,也可能多点,格式化成这样行不
<a href="http://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrent">0e1f7d6029a030b3</a>
<a href="http://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrent">0e1f7d6029a030b3</a>
<a href="http://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrent">0e1f7d6029a030b3</a>
<a href="http://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrent">0e1f7d6029a030b3</a>
<a href="http://www.xdytt.com/wp-content/uploads/2014/07/0e1f7d6029a030b3.torrent">0e1f7d6029a030b3</a>

程序不熟悉,缺少技能和思路的说啊
3453 次点击
所在节点    PHP
26 条回复
zakokun
2014-10-23 15:08:05 +08:00
最简单的办法就是, $arr=explode("torrent",$bt); 再把分割出来的每个数组元素末尾拼接上"torrent"就行了
zakokun
2014-10-23 15:09:09 +08:00
@zakokun 这样出来的结果就是href里面的连接. 之后你再在页面模板里面该怎么遍历就怎么弄了
pimin
2014-10-23 15:11:32 +08:00
字符串分隔成数组,
YAFEIML
2014-10-23 15:13:25 +08:00
@zakokun 那个,,这个,多码点好吗
66beta
2014-10-23 15:13:32 +08:00
正则表达式可以一次提取吧,但是我不会写
lizheming
2014-10-23 15:32:08 +08:00
YAFEIML
2014-10-23 16:12:09 +08:00
@lizheming 拜谢
abelyao
2014-10-23 16:21:41 +08:00
简单点的:

echo '<a href="' . join('.torrent">download</a> <a href="http://', explode('.torrenthttp://', $bt)) . '">download</a>';

利用 expload 分割字符串再用 join 组合起来,但是每个 a 标签中的文本内容,就只能是固定的。
如果要匹配的话,可参考楼上 @lizheming 贴的代码,利用正则表达式提取。
YAFEIML
2014-10-23 16:25:01 +08:00
@abelyao 这个的话如果只有一条数据就死了吧。。
abelyao
2014-10-23 16:35:43 +08:00
@YAFEIML 链接是活的~ 显出出来的文本是死的~
YAFEIML
2014-10-23 17:01:23 +08:00
@abelyao
我的意思不是那个
explode('.torrenthttp://', $bt)

如果只有一条记录.torrenthttp://这个取不到吧
abelyao
2014-10-23 17:29:41 +08:00
@YAFEIML 哦,也是,那还是用正则吧,或者按 http:// 来分隔,但注意去掉第一个结果,因为是空白字符串
yangg
2014-10-23 17:35:57 +08:00
第一个
var_dump(preg_split('/(?<=.torrent)(?=http)/', $bt));
YAFEIML
2014-10-23 18:02:40 +08:00
@abelyao
@yangg
其实已经用@lizheming方法弄好了,谢谢
lygmqkl
2014-10-23 19:26:57 +08:00
用 http explode 就行了。。。简单的方法最好。
karonl
2014-10-23 22:16:04 +08:00
@lizheming 好奇你是怎么找到和题目一模一样的网页,而楼主却没找到
lizheming
2014-10-23 22:18:21 +08:00
@karonl ...擦...为什么你不能觉得是我写的呢T_T...惨惨惨...
YAFEIML
2014-10-24 09:44:27 +08:00
@karonl
@lizheming
好萌噢
good
2014-10-24 10:23:32 +08:00
YAFEIML
2014-10-24 11:06:16 +08:00
@good 和@lizheming 那个差不多吧。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/141010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX