phpについて


$hoge1 = 123;
$hoge2 = 456;

$foo = preg_match("/(hoge¥d)/",?????,$foo);

$foo 内の hoge1、hoge2 を $hoge1、$hoge2 に一行で変えられないでしょうか。

よろしくお願いします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2010/01/08 17:32:13
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81

ポイント60pt

こういうことでしょうか。

<?php
$hoge1 = 123 ;
$hoge2 = 456 ;

$foo = 'abc hoge1 def hoge2 ghi' ;

$foo = preg_replace('/(hoge\d)/e', '${\\1}', $foo) ;

echo $foo ;
id:worldtravel

おーーーっ!!

これです。

期待通りに動作しました。

ありがとうございました。

2010/01/08 17:32:01
  • id:worldtravel
    訂正です。
    $foo = preg_match("/(hoge¥d)/",?????,$foo);
    ではなく
    $foo = preg_replace("/(hoge¥d)/",?????,$foo);
    です。

    失礼しました。
  • id:y-kawaz
    質問の意味がわからない…。何をしたいの?
  • id:worldtravel
    1行で置き換えがしたいのです。

    $hoge1 = 123;
    $hoge2 = 456;
    $foo = preg_replace("/hoge1/",$hoge1,$foo);
    $foo = preg_replace("/hoge2/",$hoge2,$foo);

    とすれば置き換わりますが、
    100ある場合は100行書く必要があります。

    ではなく1行で済ませたいのです。

    $hogeは配列にしないで下さい。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません