本帖最后由 xuexi123abc163 于 2014-11-10 08:43:37 编辑 比如我有数组
$a=array(0=>sdfs,1=>333,2=>444,3=>sadfsaf)
然后我有一个字符串,字符串内容如下:
今天下午,记者从第三届中华赏石展暨黄蜡石文化博览会新闻发布会上获悉,今年的黄蜡石文化博览会将于11月8日在鹰潭君融国际眼镜城开[abc]2[/abc]展,至11月16日落下帷幕。活动期[abc]1[/abc]间将展销来自全国各地的奇石、化石、矿晶、宝玉石及其工艺品、根雕、陶瓷、古玩、书画、收藏品。为活跃石博会气氛,聚集石博会人气,展会期间,主办方还安排了书法笔会、明星演唱会、啤酒节、眼镜秀等文化活动。
为了方便观众前去参观,公交21路车在石博会期间[abc]7[/abc]对行驶路线做出调整——从火车站出发,经站江路到林荫西路,再沿鹰西大道直达君融国际黄蜡石古玩大市场。同时,主办方每天也安排专车[abc]4[/abc]在古玩街后门,把参观石博会的观众送到展会现场。
数组的长度,和字符串里面[abc]*[/abc]这个标签的个数是一定相等的。
现在我想按照字符串里面[abc]*[/abc]出现的先后顺序依次替换成数组里面的$a[0].....$a[3]的值。
还有,我如何统计[abc]*[/abc]出现的次数??
即,
把[abc]2[/abc]替换成$a[0]的值 sdfs。,
把[abc]1[/abc]替换成$a[1]的值333
把[abc]7[/abc]替换成$a[2]的值444
把[abc]4[/abc]替换成$a[3]的值sadfsaf
说明:
[abc]2[/abc]这个[abc]*[/abc]之间的一定会正整数,不含其它特殊字符,出现的位置没有规律,
------解决思路----------------------$s =<<< TXT<br />今天下午,记者从第三届中华赏石展暨黄蜡石文化博览会新闻发布会上获悉,今年的黄蜡石文化博览会将于11月8日在鹰潭君融国际眼镜城开[abc]2[/abc]展,至11月16日落下帷幕。活动期[abc]1[/abc]间将展销来自全国各地的奇石、化石、矿晶、宝玉石及其工艺品、根雕、陶瓷、古玩、书画、收藏品。为活跃石博会气氛,聚集石博会人气,展会期间,主办方还安排了书法笔会、明星演唱会、啤酒节、眼镜秀等文化活动。<br /><br /> 为了方便观众前去参观,公交21路车在石博会期间[abc]7[/abc]对行驶路线做出调整——从火车站出发,经站江路到林荫西路,再沿鹰西大道直达君融国际黄蜡石古玩大市场。同时,主办方每天也安排专车[abc]4[/abc]在古玩街后门,把参观石博会的观众送到展会现场。<br />TXT;<br /><br />$a = array(0 => 'sdfs', 1 => '333', 2 => '444', 3 => 'sadfsaf');<br />foreach($a as $v) $s = preg_replace("/\[abc\]\d+\[\/abc\]/", $v, $s, 1);<br />echo $s;
今天下午,记者从第三届中华赏石展暨黄蜡石文化博览会新闻发布会上获悉,今年的黄蜡石文化博览会将于11月8日在鹰潭君融国际眼镜城开sdfs展,至11月16日落下帷幕。活动期333间将展销来自全国各地的奇石、化石、矿晶、宝玉石及其工艺品、根雕、陶瓷、古玩、书画、收藏品。为活跃石博会气氛,聚集石博会人气,展会期间,主办方还安排了书法笔会、明星演唱会、啤酒节、眼镜秀等文化活动。
为了方便观众前去参观,公交21路车在石博会期间444对行驶路线做出调整——从火车站出发,经站江路到林荫西路,再沿鹰西大道直达君融国际黄蜡石古玩大市场。同时,主办方每天也安排专车sadfsaf在古玩街后门,把参观石博会的观众送到展会现场。