Heim > Backend-Entwicklung > PHP-Tutorial > 简单有关问题,php用正则过滤字符串中指定的格式并定义成数组

简单有关问题,php用正则过滤字符串中指定的格式并定义成数组

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-13 13:00:23
Original
863 Leute haben es durchsucht

简单问题,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};”不是我想要得到的结果。

数组下标的名称就是想要根据取出的格式命名的,值的话就是用正则把中括号过滤掉得出的结果
------解决方案--------------------

$str="这是一张[pic,{0}]图片,这是一条描述[desc,{2}]";<br />
$arrStr=array();<br />
preg_replace('/\[(.+?)\]/e','$arrStr["$0"]="$1"',$str);<br />
print_r($arrStr);
Nach dem Login kopieren

------解决方案--------------------
$demo='/\[([a-zA-Z\d].+?),(\{\d+\})\]/e';

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage