1

次の文字列を分割しようとしています。

Hello how are you<br>Foo bar hello

の中へ

"Hello", " how", " are", " you", "<br>", " Foo", " bar", " Hello"

これは可能ですか?

4

5 に答える 5

0

これは私がそれを行う方法です:

  1. 区切り文字としてスペースを使用して文字列を分解します
  2. パーツをループする
  3. strposパーツに指定されたタグが含まれているかどうかを使用して確認<br>します -- この場合
  4. その場合は、タグを区切り文字として文字列を再度分解します
  5. 3 つの項目すべてを結果配列にプッシュします。
  6. そうでない場合は、それを結果配列にプッシュします

コード:

$str = 'Hello how are you<br>Foo bar hello';
$parts = explode(' ', $str);
$result = array();

foreach ($parts as $part) {
    if(strpos($part, '<br>') !== FALSE) {
        $arr = explode('<br>', $part);
        $result = array_merge($result, $arr);    
        $result[] = "<br>";
    }
    else {
        $result[] = $part;
    }
}
print_r($result);

出力:

Array
(
    [0] => Hello
    [1] => how
    [2] => are
    [3] => you
    [4] => Foo
    [5] => <br>
    [6] => bar
    [7] => hello
)

デモ!

于 2013-09-18T23:56:43.953 に答える