php正则表达式字符串替换

开源中国董事会主席 发布于 2012/03/09 17:30
阅读 2K+
收藏 1

[a][b]['c']["d"]['e']["f"][g]

有这么一串字符串,若干组"[]",[]有的带引号,有的不带引号,怎么能只需一次把不带引号的都加上引号?

加载中
0
用户已屏蔽
用户已屏蔽
好有难度... 我来坐等答案
0
leo108
leo108
加上什么引号?单还是双?
开源中国董事会主席
开源中国董事会主席
无所谓啊 都可以
0
黑菜妞妞
黑菜妞妞
比较的复杂,看着眼晕。
0
leo108
leo108
$str = <<<EOT
[a][b]['c']["d"]['e']["f"][g]
EOT;
$preg = <<<EOT
/\[([^'"]+?)\]/i
EOT;
echo preg_replace($preg,"['$1']",$str);

或者

$str = "[a][b]['c'][\"d\"]['e'][\"f\"][g]";
$preg = "/\[([^'\"]+?)\]/i";
echo preg_replace($preg,"['$1']",$str);

输出都正确

0
皮总
皮总
<?php

$str = '[a][b][\'c\']["d"][\'e\']["f"][g]';

$var = preg_replace("/['\"]?([a-z])['\"]?/","\"\\1\"",$str);

echo $var;

?>

或者
<?php

$str = '[a][b][\'c\']["d"][\'e\']["f"][g]';

$var = preg_replace("/(?:(['\"]?([a-z])['\"]?))/","\"\\2\"",$str);

echo $var;

?>

用户已屏蔽
用户已屏蔽
学习了.我最害怕就是  正则  算法 哈哈
0
爱看小五
异界最强系统


<A href="http://www.xw234.com/artinfo/37/" target="_blank">
什么,你问我学习灵技的速度为什么那么快?
呃,你说的是技能吧,这当然是一点就会的,难道你不是?
什么,你问我修炼难道没有瓶颈?
呃,你说的应该是转职任务吧?
梦想杯投票
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.xw234.com/artinfo/37/
</A>
返回顶部
顶部