ラジオボックスのHTMLタグの順序を入れ替え、ラジオボックスごとに<div>タグを付けたいです。
[元のデータ]
$str='<input type="radio" name="data[sample]" id="sample1" value="1" size="" /><label for="sample1">公開</label><input type="radio" name="data[sample]" id="sample2" value="2" size="" /><label for="sample2">非公開</label>';
[出力したいデータ]
<div class="radio">
<label for="sample1">
<input type="radio" name="data[sample]" id="sample1" value="1" size="" />公開
</label>
</div>
<div class="radio">
<label for="sample2">
<input type="radio" name="data[sample]" id="sample2" value="2" size="" />非公開
</label>
</div>
-----------------------------------------------------------------------------------
以前、こちらで(https://oshiete.goo.ne.jp/qa/9133859.html)
preg_replaceを使う方法を教えていただきました。
$pattern = '//';
$replacement = '$2$1$3';
$str = preg_replace($pattern, $replacement, $str );
今回は途中にタグを追加する形になっており、その部分がうまくいきません。
ラジオボックス1つごとに<div class="radio"></div>を追加したいです。
ご回答宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんなかんじですか?
<?PHP
$str='<input type="radio" name="data[sample]" id="sample1" value="1" size="" /><label for="sample1">公開</label><input type="radio" name="data[sample]" id="sample2" value="2" size="" /><label for="sample2">非公開</label>';
$pattern='|(<input type="radio".*?>)(<label .*?>)(.+?)(</label>)|';
$replacement ='<div class="radio">'.PHP_EOL;
$replacement.='$2'.PHP_EOL;
$replacement.='$1$3'.PHP_EOL;
$replacement.='$4'.PHP_EOL;
$replacement.='</div>'.PHP_EOL;
$str=preg_replace($pattern,$replacement,$str);
print $str;
//以下デバッグ用
print nl2br(htmlspecialchars($str));
?>
yambejp様
ご回答ありがとうございます。
求める結果を得ることができました。
自分で $replacementのところに<div class="radio"></div>を加えたり試行錯誤していたのですが、ラジオボックス一つ一つに反映されず先頭と最後に一度だけ<div>が表示されてしまう状態から抜け出せず困っていました。
今後とも宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
PHP一覧表示した項目にリンクを...
-
PHPSpreadsheetを使って関数を...
-
アップロード画像数でCSSを分け...
-
ワードプレスサイト PHP8.0.25...
-
入力フォームの空白や改行を制...
-
オススメのプログラミングスク...
-
htmlのエラーについて(デバッグ)
-
SFTPなどは使わないホームペー...
-
php 完了画面の送信メールのコ...
-
phpでPEAR::DBを使っているので...
-
index.phpって何ですか? 具体...
-
PHP8を使うと、大量のWarningが...
-
掲示板のセキュリティについて...
-
メールフォームのタイトルが文...
-
php 入力画面から確認表示画面...
-
ワードプレスプラグイン MW WP ...
-
phpのメールフォームの完了画面...
-
PHPとHTML+Xamppの掲示板で画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
PHPSpreadsheetを使って関数を...
-
重複を防ぐ記述について教えて...
-
index.phpって何ですか? 具体...
-
awsにApacheとPHPを入れて、何...
-
phpでPEAR::DBを使っているので...
-
php 確認表示画面で値をSESSION...
-
PHPでユーザー情報を入力して簡...
-
ワードプレスサイト PHP8.0.25...
-
php 完了画面の送信メールのコ...
-
SFTPなどは使わないホームペー...
-
PHPのセッション有効期限について
-
csvファイルについて教えて下さ...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで訪問回数を表示するカウン...
-
ファイルアップロードに関して...
-
掲示板を作成しておりアップロ...
-
Q&Aサイトを作成していてURLの...
おすすめ情報