0

HTMLファイルのコンテンツを含む文字列でpreg_regを使用する必要があります。

$file = file_get_contents($path);
$html_array = explode(' ', $file);

問題は、配列が次のようになることがあることです。

[77]=>
    string(35) "<div>
</div>
<br>
{{testto}}
<br>"

私はそこにいくつかの空白を入れようとしました.. :P 動作しません.. :/ 後で、次のように preg_grep を実行します:

$childframes = preg_grep('!\{\{(\w+)\}\}!', $html_array);
$retur = array();
foreach($childframes as $v){
   $v = trim($v);
   $retur[] = substr($v, 2, -2);
}
return $retur;

したがって、アイデアは基本的に{{testto}}配列を取得することであり、出現するたびに{{sometext}}「sometext」のみに部分文字列を付けます。

ありがとう =)

編集:

問題を繰り返すには:爆発が正しく機能していないので、可能であれば空白だけでなく正規表現が必要です..大きな文字列で preg_grep を実行するより良い方法はありますか?

4

2 に答える 2

1

爆発する必要はなく、一時的な配列を作成し、それを grep して後で削除します。正規表現の一致だけです。

$html = file_get_contents($path);
preg_match_all('#{{(.*?)}}#', $html, $matches);
$array_of_texts = $matches[1];
于 2009-11-26T21:01:32.667 に答える
0

使いたいだけではありませんか:

strip_tags($v)

最初にすべての html タグを削除すると、コードは「sometext」を正しく取得します。

于 2009-11-26T20:45:39.403 に答える