草庐IT

PHP preg_split,表达式 i 大括号并保存定界符

我已经为此苦苦挣扎了半天,但我似乎找不到答案。请帮助菜鸟。:)我有一个字符串,它由几个放在大括号中的句子组成。它看起来像这样:{super骗人的额外文字。}{很棒的另一个文字!}{我们又来了...}现在我想拆分它。我发现我可以搜索.}{等模式。所以我这样做了:$key=preg_split('/[!?.]{1,3}\}\{/',$key);但是这样我失去了定界符,我失去了所有那些。!?等在句末。我试过这样做:$key=preg_split('/([!?.]{1,3}\}\{)/',$key,-1,PREG_SPLIT_DELIM_CAPTURE);$sentences=array();

php - 如何获取大括号内的嵌套值

如何使用php进入嵌套大括号内?例子:{{text1{{text2text3{{text4}}text5}}}}应该输出1-text1{{text2text3{{text4}}text5}}2-text2text3{{text4}}text53-text4 最佳答案 这需要跟踪括号的数量,不能使用正则表达式来完成。您必须为此创建自己的解析器逻辑。Regexisnotaparser,对不起。HereisanothersimilarquestionwiththesameresponseasmineAndhereisaSOaboutbui

php - {$_GET ['action' ]}();这些大括号是什么意思?

有人可以帮助理解php中的语法技巧吗:输入$controller->{$_GET['action']}();我说的是{$_GET['action']}();我正在尝试了解此博客上的mvc模式http://r.je/mvc-in-php.html但如果我能理解这个语法技巧,它真的对我有帮助......谢谢 最佳答案 这是一种动态访问对象成员的方法。$key='test';$object->{$key}相当于:$object->test在您的示例中,某人正在上运行$_GET['action'](查询字符串中的action变量)指定的任何

PHP Regex 提取括号内的数字

我目前正在构建一个具有回复功能的聊天系统。如何匹配'@'符号和括号内的数字,例如:@[123456789]这个在JavaScript中工作/@\[(0-9_)+\]/g但它在PHP中不起作用,因为它无法识别/g修饰符。所以我尝试了这个:/\@\[[^0-9]\]/我有以下示例代码:$example_message='Hi@[123456789]:)';$msg=preg_replace('/\@\[[^0-9]\]/','$1',$example_message);但它不起作用,它不会捕获@[]中的那些数字。有什么建议么?谢谢 最佳答案

PHP 括号少 IF 条件不接受多个语句

我从来都不喜欢控制结构中的括号,直到今天我才意识到它只接受括号内的一个语句,如果条件不多,如果我有多个语句,它将抛出语法错误。这是PHP的工作方式还是我的IDE有问题?显然错误很明显,但我只是想确保这是正常的。如果您有其他替代语法的任何链接,请告诉我。Bellow只是我从一个正在做的项目中粘贴的内容和语法错误的示例。if($this->reel3=1)parent::addCash($this->$bet*2);print(parent::getCash());//编辑(进一步)在查看了一些答案和评论后,我想知道它在专业环境中是如何完成的,我知道这更多的是关于品味,但我想从专业人士那里

PHP 从用括号分隔的字符串中的键名创建多维关联数组

我有一个字符串,括号中有可变数量的键名,例如:$str='[key][subkey][otherkey]';我需要创建一个多维数组,该数组在字符串中表示相同的键($value在这里只是一个不重要的字符串值):$arr=['key'=>['subkey'=>['otherkey'=>$value]]];或者如果您更喜欢这种其他表示法:$arr['key']['subkey']['otherkey']=$value;理想情况下,我想像处理字符串一样附加数组键,但据我所知这是不可能的。我不认为array_push()在这里可以提供帮助。起初我以为我可以使用正则表达式从我的字符串中获取方括号中

php - 当目录名称带有方括号 "[ ]"等特殊字符时,Glob 不起作用

我在使用带有方括号的路径目录时使用glob函数时遇到问题。//Example1-working$path='temp'.DIRECTORY_SEPARATOR.'dir-name';$files=glob($path.DIRECTORY_SEPARATOR.'*.txt');//Listallfilesecho'';print_r($files);echo'';上面的代码可以正常工作,但是当目录名称带有方括号,如dir[name]或dir-[name]时,它就无法正常工作。//Example2-notworking$path='temp'.DIRECTORY_SEPARATOR.'di

PHP 替换大括号之间的所有内容?

我对preg很烂,我永远学不会:(这应该不难,我可以请一个代码示例来替换大括号之间的所有内容,包括空格,所有内容吗?喜欢:$string=preg_replace('{.*?}#si','',$string);还是什么? 最佳答案 您缺少初始#分隔符:'#\{.*?\}#s'在线查看它:ideone其他几个小问题:这里不需要i修饰符,因为模式中没有任何字母。最好在正则表达式中对{和}进行转义,以避免混淆它们作为量词的使用,尽管在这种情况下并非绝对必要。 关于PHP替换大括号之间的所有内容

php - 如何从大括号中获取字符串?

我需要帮助:我有一个数组,我需要从中获取值...但是如何获取大括号内的数据...它应该是一些简单的东西,我想......我尝试了explode这显然不能像我在最后一个大括号中使用的那样工作两种数据,应该这样区分......每个大括号(数据适用于某事)。$array=array("other"=>"{name:2},{value:2},{align:4},{height:4,color:red}","another"=>"{name:2},{value:2},{align:4},{height:4,color:red}");我真的很挣扎......感谢你的帮助。谢谢

php - 正则表达式获取括号之间有文本的括号之间的文本

在尝试重写这个问题10次后被接受,我有一个小文本,括号之间有文本,我想提取该文本,所以我写了这个表达式:/(\([^\)]+\))/i但这只会提取第一个(和最后一个)之间的文本,忽略其余文本那么有什么方法可以提取全文,例如:iwant(to)extractthistext来自:thisisthetextthat(iwant(to)extractthistext)from可能有不止一个括号括起来的子文本。谢谢编辑发现这个:preg_match_all("/\((([^()]*|(?R))*)\)/",$rejoin,$matches);接受的答案中提供的链接非常有用