私は自分のページに簡単なパーサーをいくつか作成しましたが、問題があります。
HTMLテキスト:
<p>some text</p><p>another text</p>
私が次のようなものを使おうとすると:
preg_split("#<p>#",$string);
なしで結果が出ましたが<p>
、これは非常に悪いです。(</p>
存在するだけ)
たぶん私はこの文字列を配列に分割することができますが、削除しないでください</p>
?
私は自分のページに簡単なパーサーをいくつか作成しましたが、問題があります。
HTMLテキスト:
<p>some text</p><p>another text</p>
私が次のようなものを使おうとすると:
preg_split("#<p>#",$string);
なしで結果が出ましたが<p>
、これは非常に悪いです。(</p>
存在するだけ)
たぶん私はこの文字列を配列に分割することができますが、削除しないでください</p>
?
ポジティブルックアヘッドゼロ幅アサーション(?=<p>)
であるこの構成を使用できます。このパターンは、一致するテキストを消費しません。文字列の前の位置を見つけるだけです。次に例を示します。<p>
preg_split("#(?=<p>)#",$string);
Ivanが言ったように、を使用する必要があります(?=<p>)
。使用できることを追加したかっただけです
var $Paragraphs = array_filter(preg_split("/(?=<p>)/", "<p>some text</p><p>another text</p>"));
どっちが:
[1] => <p>some text</p>
[2] => <p>another text</p>