$abc=”<b>$abc</b>”;CGIでこの太字になった変数を$abcの名前を変えずにその値だけ細字に戻すことはできますか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答22件)

id:b-blue No.1

回答回数34ベストアンサー獲得回数0

ポイント10pt

 あなたが今質問に出しているCGIファイルをメモ帳で開いて、又はメモ帳を起動してその中にCGIファイルをマウスでつかんでぶち込んで$abc=”<b>(←この部分と)$abc</b>(←この部分)”;

にマウスカーソルを合わせて、それぞれワンクリックした後バックスペースキーを3回ずつ押すと消せます。

または4番目の回答で出てるとおり、その太文字にする処理がいらないなら、

$abc=”<b>$abc</b>”;(←ここの部分)

にマウスカーソルを合わせて、ワンクリックした後、バックスペースキーを19回押すと消せます。

両者とも消した後に「ファイル」→「上書き保存」をすれば完成かと。

上の方々の回答をとコメントを見るとこんな回答がでてきます。

他の方が作ったCGIファイルも普通のファイル同様に、自分で書き込んだり編集することが出来ます。

コメントを見ると$abcにBタグを入れた後に、そのBタグを消したいと考えているように見えますが。正直それは無駄な処理じゃないでしょうか。Bタグが不要なら最初からBタグを入れる処理をしなければいいだけだと思います。

書き込みエラーが起こって、もしかしたら二重カキコになってるかも知れませんが、そのときはごめんなさい。

id:theramic No.2

回答回数17ベストアンサー獲得回数0

ポイント10pt

■置換演算子

CGIはPerlで書かれたものですよね?

$str = ~s/$strの置換したいところ/置換する文字列/;

で置換された文字列が帰ってきます。

$str = ”<b>あ</b>”;

のとき、

$str = ~s/<b>/<xyz>/;

とすると、

$str = ”<xyz>あ</b>”;

になるわけです。

<xyz>の部分を空白にすることで、「<b>」の部分が空白となり、結果として「<b>」を消すことが出来ます。

詳しくはURLをどうぞ。

id:Takuya No.3

回答回数71ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/awindow?qid=1055478512

awindowさんのプロフィール - はてな

URLはダミーですが。

$abc = substr($abc,</b>,-4) ;

$abc =~ tr/<b>//d ;

コレで出来ました。

1行目で後の“</b>”の部分を削除して

(正確には、後から4文字を消してます。)

2行目で前の“<b>”の部分を削除しています。

(“<b>”を“”に置換。)

$abcの部分に“<b>”を入れない限り大丈夫です。

id:well No.4

回答回数72ベストアンサー獲得回数0

ポイント15pt

<b> と </B> を削除すると標準の太さに戻ります。

id:desu

既に$abcに太字で代入されちゃってるわけですから、後からもう一度を削除した式を代入しても、もう$abc=太字ですから太字を代入してることになります。

$abc=”$abc”;

の処理が行われた後どうやって戻すかがわからないのですよ。

2003/06/13 13:53:19
id:aki73ix No.5

回答回数5224ベストアンサー獲得回数27

ポイント15pt

$abc=~s/<b>//g;

$abc=~s/</b>//g;

$abc=~s/<B>//g;

$abc=~s/</B>//g;

でフィルタをかけてやる事によって可能

id:desu

う〜んやってみましたができません。

フィルタってどういう役目をするのですか?

2003/06/13 14:37:47
id:inokuni No.6

回答回数1343ベストアンサー獲得回数21

ポイント15pt

$abc =~ s/<b>//;

$abc =~ s/<¥/b>//;

これによって、$abc のみが抜き出せます。

id:desu

やってみましたがCGIプログラムエラーでした。

回答の2,3はCGIでも使えるのですか?

2003/06/13 14:51:36
id:DocSeri No.7

回答回数127ベストアンサー獲得回数2

ポイント15pt

済みません、お求めの答とは違うと思いますが、こういう解もありということで。

Bタグのスタイルとしてfont-weight:normalを指定すれば表示上太字には見えません。

変数にタグ自体を挿入してしまうというのはあまり美しい処理ではないような。

もし$abcを太字で表示する部分が1ヶ所もないなら$abc=”<b>$abc</b>”という処理自体を削除してしまえば良いし、どうしても一度太字化したものを元にも度したいというのであれば、

$abc = s#</?B>##g

でBタグだけを削除できると思いますが。

id:desu

#がコードに入っている時点でもうムリではないでしょうか?

さっきからコードに入っているsって何ですか?

CGIで使えますか?

2003/06/13 14:58:21
id:salic No.8

回答回数175ベストアンサー獲得回数1

ポイント15pt

$abcの中には文字列として「<b>$abc</b>」が入っている訳ですから、その文字列の中から<b>,</b>を消せば元に戻ります。

id:desu

どうやって?

さっきからその話をしてるんですけど?

2003/06/13 14:59:36
id:inokuni No.9

回答回数1343ベストアンサー獲得回数21

ポイント15pt

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_k08.htm

CGI-Perl 基礎編 (その八) 正規表現、マッチパターン、置換演算子、変換演算子 - SAK Streets

「s」というのは、文字列を置換するときに用いる置換演算子です。

$abc =~ s/置換したい文字列/置換後の文字列/;

やりたいことは、「<b>」と「</b>」を「」に置換する、すなわち、「<b>」と「</b>」を削除したいわけです。

$abc =~ s/<b>//;

$abc =~ s/<¥/b>//; ←¥は半角です。(はてな では、半角の「¥」を勝手に全角の「¥」に変換してしまうらしい・・・。(笑))

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 calculus 2 1 0 2003-06-13 18:40:54
2 everfield 3 2 0 2003-06-13 19:28:01
3 kuwa 15 12 0 2003-06-13 20:01:44
4 hang 9 8 0 2003-06-13 22:56:36
5 ishii-k 4 2 0 2003-06-14 13:44:47
6 ishii-k 4 2 0 2003-06-14 14:09:33
7 niku18 1 0 0 2003-06-15 14:20:37
8 rotten7 2 1 0 2003-06-16 05:53:33
9 mulukhiyya 14 13 1 2003-06-17 08:28:57
10 aki73ix 5224 4698 27 2003-06-17 15:42:04
11 ww10 35 24 0 2003-06-17 21:18:41
12 coolsurf 3 0 0 2003-06-18 14:39:24
13 zifree 175 152 6 2003-06-19 15:04:19

コメントはまだありません

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

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

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

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