HTML と PHP のテキストを含む長い文字列があります。その文字列で、いくつかの PHP 関数呼び出しのすべての出現箇所を検索し、パラメーターを取得したいと考えています。今、正規表現の助けが必要です。
検索する関数: link_to
、link_to_function
およびmail_to
。
私の未完成の作業コピー:
$regexp = '...' // Help here please!
$str = "Bla bla bla <?php echo link_to('Lorem', 'Ipsum') ?> bla bla bla <?php echo link_to_function(\"Lorem2\", \"Ipsum2\") ?> bla bla bla...";
preg_match_all
(
$regexp,
$str,
$matches
);
次のようなものを返したい:
$matches = array
(
[0] => array
(
[0] => "link_to('Lorem', 'Ipsum')"
[1] => "link_to_function(\"Lorem2\", \"Ipsum2\")"
)
[1] => array
(
[0] => "Lorem"
[1] => "Lorem2"
)
[2] => array
(
[0] => "Ipsum"
[1] => "Ipsum2"
)
);
ご覧のとおり、パラメーターは一重引用符と二重引用符の両方で囲むことができます。パラメータでは、すべてのタイプの文字を使用できる必要があります。
そしてもう 1 つ: すべての呼び出しは 1 つまたは2 つのパラメーターを持つことができます。