简单有关问题,php用正则过滤字符串中指定的格式并定义成数组
程序员文章站
2024-02-16 08:56:28
...
简单问题,php用正则过滤字符串中指定的格式并定义成数组
格式:[英文和数字,{数字}]
例如:$str="这是一张[pic,{0}]图片,这是一条描述[desc,{2}]";
将上面字符串中的“[pic,{0}]”和“[desc,{2}]”用正则过滤出来后定义成数组,然后把中括号过滤掉,变成“pic,{0}”和“desc,{2}”。
最终想得到的结果是:
$arrStr=array();
$arrStr["[pic,{0}]"]=pic,{0};
$arrStr["[desc,{2}]"]=desc,{2};
我想要的是把字符串指定的格式取出定义成数组,然后用格式给字符串赋值,这样“$arrStr[]=pic,{0};”或“$arrStr[0]=desc,{2};”不是我想要得到的结果。
数组下标的名称就是想要根据取出的格式命名的,值的话就是用正则把中括号过滤掉得出的结果
------解决方案--------------------
------解决方案--------------------
$demo='/\[([a-zA-Z\d].+?),(\{\d+\})\]/e';
格式:[英文和数字,{数字}]
例如:$str="这是一张[pic,{0}]图片,这是一条描述[desc,{2}]";
将上面字符串中的“[pic,{0}]”和“[desc,{2}]”用正则过滤出来后定义成数组,然后把中括号过滤掉,变成“pic,{0}”和“desc,{2}”。
最终想得到的结果是:
$arrStr=array();
$arrStr["[pic,{0}]"]=pic,{0};
$arrStr["[desc,{2}]"]=desc,{2};
我想要的是把字符串指定的格式取出定义成数组,然后用格式给字符串赋值,这样“$arrStr[]=pic,{0};”或“$arrStr[0]=desc,{2};”不是我想要得到的结果。
数组下标的名称就是想要根据取出的格式命名的,值的话就是用正则把中括号过滤掉得出的结果
------解决方案--------------------
$str="这是一张[pic,{0}]图片,这是一条描述[desc,{2}]";
$arrStr=array();
preg_replace('/\[(.+?)\]/e','$arrStr["$0"]="$1"',$str);
print_r($arrStr);
------解决方案--------------------
$demo='/\[([a-zA-Z\d].+?),(\{\d+\})\]/e';
相关文章
相关视频
- 关于中英数字混的字串符分割问题_PHP教程
- 应用PHP标签模板实现什么任务_PHP教程
- php入门教程 精简版_PHP教程
- php4的session功能评述(三)_PHP教程
- 简单有关问题,php用正则过滤字符串中指定的格式并...
上一篇: 请问如何按空行来分割txt文件
下一篇: php中文url转码