0

次の文字列があります

$string = "Hello World!<br />- 8/7/2013<br />Content<br />- 8/6/2013<br />Hello World";

ダッシュ + スペース (「-」) と次の改行タグの間のすべての情報を抽出したい。それは可能ですか?私は何時間も Google を調査してきましたが、運がありません。「-」と次の改行タグの strpos の配列が必要であり、それらをバッチで部分置換する必要があると考えています。しかし、もちろん、これを他の方法で行うことができれば、それは非常にありがたいことです!

4

2 に答える 2

0

正規表現を使用すると、ほとんどの制御が可能になりますが、strpos と substr を使用して求めたものを取得する簡単なデモを次に示します。

$strStart = strpos($string, '- ');
$strLength = strpos($string, '<br') - $strStart;
substr( $string, $strStart, $strLength );
于 2013-08-07T21:26:04.617 に答える
0

複数の発生を処理するために回答を更新しました。

これは、単純な正規表現で行うことができます。

preg_match_all("@- (.*)<br />@U", $string, $matches);
print_r($matches[1]);

上記が印刷されます

Array
(
    [0] => 8/7/2013
    [1] => 8/6/2013
)

これは、どんな意味でもパターン- (.*)<br />に一致します。ここでのs は、実際のパターンと修飾子を区切るデリミタとして機能します (この場合は貪欲でない一致を意味します)。(.*)@U

于 2013-08-07T21:26:09.207 に答える