2

テキスト内の要素間のコンテンツを選択するにはどうすればよいですか? たとえば、このテキストでは、[]の間のコンテンツを選択します。

皆さん、こんにちは [ このセクションだけを選択したい ]。やあ。元気ですか?zzzzzzzzzzzzzzzzzzzz

このテキストがテキスト内にある場合、次を使用できます。

<?php
 $a=file("text.txt");
 print "".$a[]."";
?>

を使用することもできますexplodeが、問題は、爆発が 2 人以上のキャラクターに対して機能しないことです。

4

3 に答える 3

3

[] の間のコンテンツを取得するには、次の正規表現を使用します: '[(.*)]'

サンプルコード:

$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]);

評価

于 2013-09-01T03:46:34.733 に答える
0
<?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);
}
?>
于 2013-09-02T10:31:20.517 に答える
0

これがあなたのための例です

<?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/>";
    }
}

?>
于 2013-09-01T03:46:42.017 に答える