preg_match_all()から返された$ matchs配列を使用して、件名の文字列を強調表示しようとしています。例から始めましょう:
preg_match_all("/(.)/", "abc", $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
これは戻ります:
Array
(
[0] => Array
(
[0] => Array
(
[0] => a
[1] => 0
)
[1] => Array
(
[0] => a
[1] => 0
)
)
[1] => Array
(
[0] => Array
(
[0] => b
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 1
)
)
[2] => Array
(
[0] => Array
(
[0] => c
[1] => 2
)
[1] => Array
(
[0] => c
[1] => 2
)
)
)
この場合に私がしたいのは、全体的な消費データと各後方参照を強調表示することです。
出力は次のようになります。
<span class="match0">
<span class="match1">a</span>
</span>
<span class="match0">
<span class="match1">b</span>
</span>
<span class="match0">
<span class="match1">c</span>
</span>
もう一つの例:
preg_match_all("/(abc)/", "abc", $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
戻る必要があります:
<span class="match0"><span class="match1">abc</span></span>
これが十分に明確であることを願っています。
全体的に消費されたデータを強調表示し、各後方参照を強調表示したいと思います。
前もって感謝します。不明な点がございましたら、お問い合わせください。
注:htmlを壊してはなりません。正規表現と入力文字列は、コードでは不明であり、完全に動的です。したがって、検索文字列はhtmlにすることができ、一致するデータにはhtmlのようなテキストを含めることができます。