• ベストアンサー

strip_tagsを使って、指定したタグだけを使えるようにするには?

PHPでBBSを作っているのですが、指定したタグだけを使用できるようにしたいと思っています。 最初はhtmlspecialcharsを使って全てのタグを使えなくしていましたが、AタグやIMGタグ、FONTタグなどを使えるようにしたくて、strip_tagsを使ったのですが、引数の指定の仕方がわかりません。 string strip_tags(string str, string[allowable_tags]); のstring[allowable_tags]の部分の指定のしかたを教えてください。よろしくお願いします。

  • asahi
  • お礼率33% (1/3)
  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • maro
  • ベストアンサー率47% (95/199)
回答No.1

<? echo strip_tags($str,"<a>,<img>,<font>") ?> で、いかがでしょうか?

asahi
質問者

お礼

ありがとうございました。 $str = strip_tags($str, '<a>,<b>,<font>'); の書き方で指定する事ができました。

関連するQ&A

  • 一定のタグを無効にする

    掲示板のタグについて。。。 某匿名掲示板でよく使われているレスアンカー「>>コメント番号」を導入したのですが、それ以外のリンクやタグを無効にしたいのですが、イイ方法はないでしょうか?初心者ですのでまったくわかりません… strip_tagsで許可するタグを指定するという方法があるみたいですが何を指定すればいいのか… 宜しくお願いします。

    • ベストアンサー
    • PHP
  • htmlタグを削除させて表示させたい

    特定の変数内にある、htmlタグを削除させて表示させたいのですが、reg_replace()を使うのが妥当でしょうか? その際、<br>や<img ="http=~">といった< >内が変化する文字を指定するのがわからなくて困っています。 <?php $string = 'こんにちは、<br>皆さん.'; $pattern = '/<br>/'; $replacement = ''; echo preg_replace($pattern, $replacement, $string); ?> この</br/>の部分を</*/>としてみましたが見当違いのようで"皆さん"の部分がすっぽ抜けてしまいました。 もしご存知の方おられましたら、どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • データベースのテキストデータの改行方法について

    別サイトで質問して nl2br関数を使えば改行が反映されるとわかったのですが、 <?php $str = nl2br(htmlspecialchars($str, ENT_QUOTES, 'UTF-8'), false); や <?php function h($str) { return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); } など、 上記のを試してみたのですが、データベース上のテキストデータの改行がサイトに反映されず困っております。 http://uploda.cc/img/img52b55ee23c01f.png このようにDBに記入したデータをどのようにすれば改行されますでしょうか? 初心者で非常に申し訳ございませんが宜しくお願いします。

    • 締切済み
    • PHP
  • 文字の表示

    オブジェクトを受け取るメソッド ↓は引数にString型のオブジェクトを指定するプログラムです public class Sample { public static void main(String args[]) { String str = "abcd"; change(str); System.out.println(str); } private static void change(String str) { str = "efgh"; } } 私の中ではefghがでると思っていたんですが・・ これを実行してみると変数strに最初に代入した文字列が表示されるんです! なぜですか? できれば理由を教えてください 回答よろしくお願いします

  • 表示指定タグについて教えて下さい!

    ウインドウの幅を変えても、 表示位置が変わらないように固定させる方法を探しています ブログ全体を指定位置に固定表示させたいです (左側に寄せて表示を希望しています) cssで使える表示指定のタグをご存知の方がいたら教えて下さい どうぞよろしくお願いします!・゜(´□`)゜・。 現在のスタイルシートのソースです ↓ /* Theme Name: omegaX Theme URI: http://blog.mukispace.com/2009/02/17/wordpress-theme-omegax/ Description: Two-columns, fixed-width, black and white color; Wordpress theme from <a href="http://blog.mukispace.com">MUKI space*</a> Version: 1.0.3 Author: muki Author URI: http://blog.mukispace.com Tags: light, white, two-columns, fixed-width */ * body { margin:0px;         ←☆数値を変えてみましたが margin-left: 0px;        表示の『固定』までは padding:0;}           できませんでした * body { font-family:arial, sans-serif; font-size:12px; line-height:180%; } ・ ・ ・ 以下、文字指定、fotterへ続く ◯使用しているブログサービス:WordPress(http://ja.wordpress.org/)

  • 値を付けてタグからPHPを呼び出す方法を教えていただけないでしょうか

    お世話になっています。 HTMLタグで、1の部分をクリックしたら1の値を付けて(引数を指定して?)abc.phpを実行し、2の部分をクリックしたら2の値を付けて同じabc.phpを実行する…というようなプログラムを考えています。クラスを使わないで実現するにはどのようにしたらよろしいでしょうか。 初心者なものでよくわからず悩んでおります。 どなたかお助けいただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • コンストラクタについて

    コンストラクタにパラメータを指定するのは注意が必要という話を聞きました。 例) public Test(String str){ this.str_ = str; } なぜ注意すべきなのでしょうか? やはりパラメータを引数にとる時は以下のように書くのがよいのでしょうか? 例) public String test(String str){ ~ ~ プログラミングの先輩方、ぜひご教授ください。

    • ベストアンサー
    • Java
  • CGIが、aタグで呼ばれたか、imgタグでか区別するには?

    php内で、標記を切り分けて、 imgタグなら?指定に従った画像を、aタグなら?指定に従ってHtmlを出したいのです。 (imgタグの方が主機能です。Htmlにはリンクを入れる必要があるので、  imgに統一できません) 常に  header('Content-Type: image/gif'); でよいように思えますが、?以降を間違えられた時、 クリックすると、メチャメチャな画面が出てしまいます。 $_SERVERを、Googleって見ましたが、わかりません。 ご教授お願いします。 尚、切り分けた後は、($callで判定できるとすると) if ($call == "img"){  header('Content-Type: image/gif');    :   (Img作成の処理)    : }else if ($call == "a" || GETやPOST){  header("Content-Type: text/html; charset=SJIS");    :   (Html作成の処理)    : とするつもりです。 そもそも、何をしたいかというと、 ?以降にLaTeXの数式を書けば、(mimeTexを呼んで)イメージを返したい のです。 だいたいは、出来ています。 http://blogs.yahoo.co.jp/kafukanoochan/62474900.html

    • ベストアンサー
    • PHP
  • IMGタグの中にPHP

    こんばんは,最近PHPを勉強し始めて色々なサイトを見て回っているのですが,時折IMGタグの中に <img src="xxx.php?abc=012">のような形でphpが指定されていることがあります.HTMLの表示では,アクセスする度にこの部分の画像が入れ替わったりします. これはどういう動作をするのでしょうか.いくつか入門書を購入して勉強しているのですが,<?php~?>という風に書くんだよということしか掲載されておらず,上記の記述がどういう動作をするのか理解できません. また,オススメの参考書籍,ウェブサイトなど併せて教えていただけると嬉しいです.よろしくお願いします.

    • ベストアンサー
    • PHP
  • srcに「banner.」で始まるファイルを指定しているimgタグが消える

    急に謎の症状が発生して困っています。 何か知っている方がいたらご教示お願いします。 謎の症状が起きるスクリプトの例------------------------ echo '<div>'; echo '<a href="hoge1"><img src="img/banner.jpg"></a>'; echo '<a href="hoge2"><img src="img/banner2.gif"></a>'; echo '<a href="hoge3"><img src="banner.gif"></a>'; echo '<a href="hoge4"><img src="banner.png"></a>'; echo '<a href="hoge5"><img src="hogehoge.gif"></a>'; echo '</div>'; ------------------------------------------------------ 上記のようなスクリプトを実行した場合に、3行目の「img/banner2.gif」と6行目の「hogehoge.gif」を指定しているimgタグしか表示されません。 残りはimgタグの部分だけ綺麗さっぱりに消えてaタグの部分だけ表示されます。実行結果が下記のようになるのです。(実際には改行されませんが、見やすいように改行してます。) 実行結果--------------------------------------- <div> <a href="hoge1"></a> <a href="hoge2"><img src="img/banner2.gif"></a> <a href="hoge3"></a> <a href="hoge4"></a> <a href="hoge5"><img src="hogehoge.gif"></a> </div> ----------------------------------------------- banner.gifやimg/banner.gifは表示されるファイルと同じディレクトリの中に存在しています。 昨日ちゃんと表示されていたのを確認しました。そのときからサーバーの設定は変更していないので、何が原因なのかが分かりません。 過去に同じような症状が起こった方はいないでしょうか? PHPのエラーログを見てもエラーも警告もありませんでした。 【環境】 OS: CentOS/5 HTTPD: Apache/2.2.3 PHP: PHP/5.1.6(eAccelarator、ZendOptimizerが入ってます) ちなみに「banner」だけだとOKでした。「banner.」が付くとダメみたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP