-1

ereg replace が減価償却されているので、代わりに preg を使用する方法を知りたいです。これが私のコードで、 { } タグを置き換える必要があります。

$template = ereg_replace('{USERNAME}', $info['username'], $template);
    $template = ereg_replace('{EMAIL}', $info['email'], $template);
    $template = ereg_replace('{KEY}', $info['key'], $template);
    $template = ereg_replace('{SITEPATH}','http://somelinkhere.com', $template);

プレグ交換に切り替えるだけでは機能しません。

4

2 に答える 2

2

を使用str_replace()してください。

このように、うわー:

<?php
$template = str_replace('{USERNAME}', $info['username'], $template);
$template = str_replace('{EMAIL}', $info['email'], $template);
$template = str_replace('{KEY}', $info['key'], $template);
$template = str_replace('{SITEPATH}','http://somelinkhere.com', $template);
?>

魅力のように機能します。

于 2013-09-30T02:23:44.653 に答える
0

ereg_replace がどのように機能するかはわかりませんが、preg_replace は正規表現で機能します。

「{」と「}」を置き換えたい場合

正しい方法は次のとおりです。

$template = preg_replace("/({|})/", "", $template);
// if $template == "asd{asdasd}asda{ds}{{"
// the output will be "asdasdasdasdads"

ここで、"{" と "}" を置き換えたい場合は、その中の特定のものだけを実行する必要があります。

$user = "whatever";
$template = preg_replace("/{($user)}/", "$0", $template);
// if $template == "asd{whatever}asda{ds}"
// the output will be "asdwhateverasda{ds}"

「{」と「}」を「a」から「Z」までの文字のみの任意の文字列に置き換えたい場合

以下を使用する必要があります。

$template = preg_replace("/{([a-Z]*)}/", "$0", $template);
// if $template == "asd{whatever}asda{ds}{}{{{}"
// the output will be "asdwhateverasdads{}{{{}"
于 2013-09-30T02:25:29.097 に答える