如何在文本中的元素之间选择内容?例如,在本文中,我想选择[和]:之间的内容
大家好[我只想选择这一部分,没有更多]。你好你好吗zzzzzzzzzz
如果我在文本中有此文本,我可以使用:
<?php
$a=file("text.txt");
print "".$a[]."";
?>
我可以使用explode
,但问题是爆炸不会;我不适合两个或两个以上的角色。
要在[]之间获取内容,请使用以下正则表达式:'[(.*)]'
样本代码:
$var = "Helo everybody [ Only i need this select no more ] , hi how are you zzzzzzzzz zzzzzzzzzzzz";
$matches = array();
$t = preg_match_all('/'[(.*)']/s', $var, $matches);
print_r($matches[1]);
Eval
这里有一个示例
<?php
$s = 'Helo [everybody] [Only i need this select no more], hi [how] are you zzzzzz';
if (preg_match_all("^'[(.*?)']^", $s, $matches, PREG_OFFSET_CAPTURE)) {
foreach ($matches[1] as $match) {
echo $match[0]."<br/>";
}
}
?>
<?php
$str = "Hello everybody [ I want to select only this section, nothing more ]. Hi. How are you? zzzzzzzzz zzzzzzzzzzzz";
$from = "[";
$to = "]";
echo getBetween($str,$from,$to);
function getBetween($str,$from,$to)
{
return substr(substr($str,strpos($str,$from),strlen($str)),1,strpos(substr($str,strpos($str,$from),strlen($str)),$to)-1);
}
?>