HTMLエディタでは、特定の書式でテキストを書きます。PHP:文字列データからテキストを検索して配列に格納する必要があります
例:
テストテストテスト{{LATEL1}}テストテストテスト{{LATEL2}}テスト試験 テストここでは、書き込まれるすべてのデータを取得する
{ {}}。すべての結果を配列にしたい。
これはregexpを使って行うことができると思います。これをどうやって手助けできますか?他の簡単な方法がある場合は、私に知らせてください。
HTMLエディタでは、特定の書式でテキストを書きます。PHP:文字列データからテキストを検索して配列に格納する必要があります
例:
テストテストテスト{{LATEL1}}テストテストテスト{{LATEL2}}テスト試験 テストここでは、書き込まれるすべてのデータを取得する
{ {}}。すべての結果を配列にしたい。
これはregexpを使って行うことができると思います。これをどうやって手助けできますか?他の簡単な方法がある場合は、私に知らせてください。
あなたはnon-greedy "anything" quantifierを使用して、グローバルに一致させたいと思うでしょう。このように、.*?
は確かにあなたの区切り文字を聞かせてなる、一度に 1文字を何も一致しますが、なり、{}
年代、正しくマッチ:()
によって
{{(.*?)}} //global
すべての値がcapturedグローバルマッチが実行された後、配列(または配列のような)の 'matches'オブジェクトで利用できるはずです。ここregex demo出力です:{{([^{}]*)}}
(demo):
注:あなたは非常に大規模な入力を使用している場合は、この代替が、意味的に等価な正規表現が速くなるかもしれません。 (否定された文字クラス[^{}]*
は、一度に1つだけを食べるのではなく、一度に.*?
を食べるのではなく、中かっこ以外のすべての括弧を一致させて(食べることができます)
http://php.net/manual/ en/function.preg-match-all.php --- https://regex101.com/ :) – dan08