- ベストアンサー
日本語文字列の正規表現
いつもお世話になっております。 日本語文字列を含む正規表現で悩んでおります。 【比較対象の文字列】 $str1 = "<select name='se'><option value='あいう'>あいう</option><option value='abc'></option></select>"; 【正規表現で置換させたいところ】 $text = "あいう";//ここの箇所だけoption valueが変わるので変数にいれています。 <option value='$text'>$text</option>という文字列が一致したら <option value='$text' selected>$text</option>にselectedを追加して置換したいのです。 下記内容で作ってみたのですが どの辺りがダメなのか検討がつきません。。 恐らくダメなところだらけかと思うのですが。 分かりづらい説明で申し訳ないのですが どなたかご教授お願いします。 $rep ="<option value='".$text."' selected>".$text."</option>"; preg_replace("/<option\s+[^>]*value\s*=\s*([\'\"]?)".$text."([\'\"]?)\s*w+>".$text."<\s+\/\s+option\s+>/i",$rep,$str1,$str2);
- みんなの回答 (2)
- 専門家の回答