这是代码:
<?php
$matchWith = "# http://videosite.com/id1 http://videosite.com/id2 # # http://videosite.com/id3 http://videosite.com/id4 #";
preg_match_all('%(#)\shttp://videosite\.com/(\w+)\r{0,1}\shttp://videosite\.com/(\w+)\r{0,1}\s(#)%', $matchWith, $result);
foreach($result[2] as $value)
{
print '<a href="http://videosite.com/'.$value.'">
First Part
</a>';
}
foreach($result[3] as $value)
{
print '<a href="http://videosite.com/'.$value.'">
Second Part
</a>';
}
?>
问题:
我希望它显示如下:第一部分,第二部分和第一部分第二部分。
但它显示如下:第一部分,第一部分,第二部分,第二部分。
我真的希望你理解。 谢谢
答案 0 :(得分:2)
<?php
$matchWith = "# http://videosite.com/id1 http://videosite.com/id2 # # http://videosite.com/id3 http://videosite.com/id4 #";
preg_match_all('%(#)\shttp://videosite\.com/(\w+)\r{0,1}\shttp://videosite\.com/(\w+)\r{0,1}\s(#)%', $matchWith, $result);
for($i = 0; $i < count($result[2]); $i++){
print '<a href="http://videosite.com/'.$result[2][$i].'">
First Part
</a>';
print '<a href="http://videosite.com/'.$result[3][$i].'">
Second Part
</a>';
}
?>
答案假设这两个数组具有并行结构。
编辑:将$ i ==更改为$ i ++
答案 1 :(得分:0)
这是你想要的吗?
for($i = 0; $i < count($result); $i++)
{
print '<a href="http://videosite.com/'.$result[$1][2].'">
First Part
</a>';
print '<a href="http://videosite.com/'.$result[$1][3].'">
Second Part
</a>';
}