正規表現道場at PHP正規表現道場 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:nobodyさん 07/03/12 12:48:47 バックスラッシュを前に置く。 51:nobodyさん 07/03/12 14:27:04 DmSqMrCU ばっちですた! 52:nobodyさん 07/03/18 21:25:07 7HFdTRo7 教えてください。 $in=ユーザーからの入力 $str='abc%ghi'; $str=preg_replace('/(\w+)%(\w+)/',"\1$in\2",$str); ユーザーからの入力を'def'にしておくと、abcdefghiになります。 ですがユーザーからの入力が'123'の場合、ghiになります。 たぶん、置換後の文字列が「\1123\2」と、繋がって解釈されているからだと思います。 {\1}のように囲むとか、なにか繋がらないように解釈してもらう方法はないですか? 二段階に分けて置換するとかすれば回避できなくはないですがスマートではなさそうなので。 53:52 07/03/18 21:25:46 すいませんphp4です。 54:nobodyさん 07/03/18 22:00:48 こうしたらこうなるって結果を一行にまとめて 55:nobodyさん 07/03/19 08:43:07 >>52 "\\1" . $in . "\\2" "\\1{$in}\\2" というか普通に\\1と\1を間違えてるだけじゃない? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch