正規表現については少し知っていますが、もっと詳しく知りたいので、コンテンツ内のすべての{}を(データベースから)検出し、括弧内の内容をチェックする関数を作成しようとしています。名前(形式:POST:nameまたはGET:name}のPOSTまたはGETがある場合は、それらをその値に置き換えたいと思います。
例:次の入力を持つフォームがある場合:
Name
Email
Message
次に、value属性に次のように入力します。{POST:Name}
次に、スクリプトはを検出する必要があり、{POST:Name}
それを。の文字列に置き換えます$_POST['name']
。私はすでにグーグルで検索しましたが、実際に何を使うべきかわからないほど多くを見つけました。
今私が持っています:
<?php
preg_match_all("/{(POST|GET):[.*](})/", $content, $matches, PREG_SET_ORDER);
foreach($matches AS $match)
{
if(isset($_POST[$match]))
$content = str_replace('{POST:'.$match, $_POST[$match], $content);
else
$content = str_replace('{GET:'.$match, $_GET[$match], $content);
}
?>
しかし、これは機能しません。