当前位置:Gxlcms > PHP教程 > 字符串里面的内容怎么替换成数组的内容

字符串里面的内容怎么替换成数组的内容

时间:2021-07-01 10:21:17 帮助过:15人阅读

字符串里面的内容如何替换成数组的内容?
本帖最后由 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
今天下午,记者从第三届中华赏石展暨黄蜡石文化博览会新闻发布会上获悉,今年的黄蜡石文化博览会将于11月8日在鹰潭君融国际眼镜城开[abc]2[/abc]展,至11月16日落下帷幕。活动期[abc]1[/abc]间将展销来自全国各地的奇石、化石、矿晶、宝玉石及其工艺品、根雕、陶瓷、古玩、书画、收藏品。为活跃石博会气氛,聚集石博会人气,展会期间,主办方还安排了书法笔会、明星演唱会、啤酒节、眼镜秀等文化活动。

  为了方便观众前去参观,公交21路车在石博会期间[abc]7[/abc]对行驶路线做出调整——从火车站出发,经站江路到林荫西路,再沿鹰西大道直达君融国际黄蜡石古玩大市场。同时,主办方每天也安排专车[abc]4[/abc]在古玩街后门,把参观石博会的观众送到展会现场。
TXT;

$a = array(0 => 'sdfs', 1 => '333', 2 => '444', 3 => 'sadfsaf');
foreach($a as $v) $s = preg_replace("/\[abc\]\d+\[\/abc\]/", $v, $s, 1);
echo $s;
今天下午,记者从第三届中华赏石展暨黄蜡石文化博览会新闻发布会上获悉,今年的黄蜡石文化博览会将于11月8日在鹰潭君融国际眼镜城开sdfs展,至11月16日落下帷幕。活动期333间将展销来自全国各地的奇石、化石、矿晶、宝玉石及其工艺品、根雕、陶瓷、古玩、书画、收藏品。为活跃石博会气氛,聚集石博会人气,展会期间,主办方还安排了书法笔会、明星演唱会、啤酒节、眼镜秀等文化活动。

  为了方便观众前去参观,公交21路车在石博会期间444对行驶路线做出调整——从火车站出发,经站江路到林荫西路,再沿鹰西大道直达君融国际黄蜡石古玩大市场。同时,主办方每天也安排专车sadfsaf在古玩街后门,把参观石博会的观众送到展会现场。

人气教程排行