![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
置換範囲が【~】までで、置換後はランダムな数字になるという認識で正しいですか?
それなら↓でどうでしょ?
<?php
$str= 'あいうえおかきくけこ【55】さしすせと【10】たちつてと';
echo preg_replace_callback( '/【\d+】/', 'randCallback', $str );
function randCallback( $matches ) {
$maxVal= intval( trim( trim( $matches[0], '【' ), '】' ) );
srand();// おまじない的初期化
return rand( 1, $maxVal );
}
参考URL:http://jp2.php.net/manual/ja/function.preg-repla …
ご回答ありがとうございます。
>置換範囲が【~】までで、置換後はランダムな数字になるという認識で正しいですか?
はい、その通りです。
教えていただいたものを試してみましたが、【】ではうまくいきませんでしたので
【】を[]に変更したところ、考えていた通りに動作しました。
ユーザ関数を使用できるということは、乱数+αに応用できるんですね。
参照ページをしっかりと読み込んでみようと思います。
応用性の高さでベストアンサーとさせていただきました。
ありがとうございました。
No.2
- 回答日時:
e修飾子を使う手もありますね
<?php
$str= 'あいうえおかきくけこ【55】さしすせと【10】たちつてと';
$pattern="/【(\d+?)】/eu";
$replacement= "rand( 1, '$1' )";
echo preg_replace( $pattern, $replacement, $str );
?>
ご回答ありがとうございます。
教えていただいたものを試してみて、うまくいきました。
#e修飾子のuはマルチバイト対応のため という認識でよかったでしょうか。
時間を見つけてe修飾子について再度勉強してみようと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- フリーソフト サクラエディタの正規表現(grep機能)の使い方 3 2022/06/22 10:29
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
REGEXREPLACE関数について、
-
どなたか私のPHP文章を添削して...
-
nl2brが効かないのですが・・・
-
置換の内容をランダムにしたい...
-
2バイトローマ数字小文字につ...
-
phpについて教えてほしいです
-
文字列の否定の正規表現
-
特定の文字を含む文字列の条件...
-
VBAのコマンドボタンの文字列の...
-
文字の入力で横バー上段、中断...
-
PHPの正規表現で住所を分けるに...
-
エクセルの文字列の抽出方法に...
-
PHPの正規表現の/(?<!\\\\\\),/...
-
エスケープ文字の復帰(¥r)と...
-
fgetsとsscanf
-
PHPで出力したHTMLのソースが汚い
-
HTML5の「pattern」属性で前後...
-
全角括弧と全角読点の間隔を狭...
-
preg_match_all 複数の文字列を...
-
テキストファイルから1文字ず...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダブルコーテーション(
-
REGEXREPLACE関数について、
-
VBSで"をエスケープする文字は?
-
文字列の置換をCStringで(C++)
-
PHPの¥
-
○分から○時間○分に変換
-
ダブルクォーテーションが置換...
-
文字列の括弧について(初心者)
-
Smartyで携帯絵文字を表示する方法
-
php 正規表現で、\\マークを取...
-
PHP・Wordpress preg_replaceを...
-
文字列のアスタリスク置換
-
nl2brが効かないのですが・・・
-
独自タグに囲まれた文字列の変換
-
ダブルクオーテーション
-
入力文字に\\マークが入ってい...
-
空白文字のカンマへの変換について
-
上手い置換方法は?
-
どなたか私のPHP文章を添削して...
-
2バイトローマ数字小文字につ...
おすすめ情報