• ベストアンサー
  • 暇なときにでも

PHPの正規表現について

// URLエンコード $str =~ s/([^\w ])/'%' . unpack('H2', $1)/eg; $str =~ tr/ /+/; これをPHPの関数を使った方法と使わなかった方法が知りたいです。 また、正規表現で、ereg.., preg.., mb_eregがありますが、この違いの詳細が知りたいです。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数99
  • ありがとう数0

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

  • ベストアンサー
  • 回答No.1
  • php504
  • ベストアンサー率42% (926/2160)

関数を使った方法 $str = urlencode($str); 正規表現を使った方法 $str = preg_replace("/([^\w ])/e", "'%'.bin2hex('$1')", $str); $str = str_replace(" ", "+", $str); preg Perl互換の正規表現 mb_ereg マルチバイト対応の正規表現 私はeregは使わないですね

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • PHP 正規表現

    はじめまして^^ 現在、PHPでプログラムを作っています。 そして、文字列の置き換えをする機会があり、 正規表現をつかうことになりました!! 置き換えに使う関数は、mb_ereg_replaceです! ある条件にあった部分の文字列を置き換えしたいと思っています。 そして、いろいろとやっていきましたら、あるひとつの壁にぶつかりました。。 例えば、PHPでは、正規表現の部分を [^文字]とやると、『文』と『字』という文字列以外にマッチという意味になるらしいのですが、 『文字』という文字列以外にマッチ、というふうに、表現したい場合は、 どう表現すればよいのですか? [^(文字)]とか、その他いろいろ、 自分なりに、色々ためしたのですが、うんともすんともいいません、、 どなたか、わかる方教えて下さいm(_ _)m

    • ベストアンサー
    • PHP
  • php 正規表現で、\マークを取り除くには?

    php で ereg_replace関数を使って¥マークを取り除きたいのですが、 ereg_replace("\\", "",$str); と記述すると Warning: ereg_replace() [function.ereg-replace]: REG_EESCAPE in C:\xampp... とエラーになってしまいます。 どうすれば正規表現により円マークを取り除くことができるのでしょうか?

    • ベストアンサー
    • PHP
  • 正規表現

    正規表現に疎いので質問させてください。 $param = ereg_replace('/?$', '', $_SERVER['REQUEST_URI']); これをpreg_matchで書くとどうなりますか? よろしくお願い致します。

    • 締切済み
    • PHP
  • PHPのpreg系正規表現が正しいかチェックる方法

    お世話になります PHPのpreg系正規表現で入力された値が 正規表現として正しいかどうか調べたいのですが どのようにすれば良いのでしょうか? 「正しい」とは 導き出したい値が正しいかではなく 正規表現の記述方法が正しいかどうかです 「[]」と「{}」が正しく閉じているかチェックするだけでいいのかな?? チェック用の関数などあったら最高です (例) 正しい [0-9]{1,3} 上記をpreg系関数に入れると1~3文字の半角数字という意味になります 誤っている [0-9{1,3} 上記をpreg系関数に入れると、括弧が閉じていないので Compilation failedになります お忙しい中恐縮ですが 分かる方お助け下さいませ

    • ベストアンサー
    • PHP
  • Python上での正規表現でどのように書けば?

    PHPで作ったプログラムをGAE(Google App Engine)/Python で作り替えています。 PHPの置換処理で、たとえば、以下の正規表現をPythonで書きたいのですが、どのようにすればいいでしょうか? mb_ereg_replace("無([いかきくけこ])","な\\1",$str); この質問は、別の言い方をすると次のようにもなります。 「Pythonで以下をひとつの正規表現で表現したい」 str = re.sub('無い','ない',str) str = re.sub('無か','なか',str) str = re.sub('無き','なき',str) str = re.sub('無く','なく',str) str = re.sub('無け','なけ',str) str = re.sub('無こ','なこ',str) どなたか、お分かりになる方、教えて頂ければと思います。

  • 正規表現eregとpreg

    pregがperl互換の正規表現というのは分かったのですが、eregとpregは使い分ける用途などがあるのででしょうか? あるhtmlから<a herf="--">タグを抜く作業に苦労していまして、調べるとどちらも使われているようで、正規表現を勉強するのにも戸惑っています。 せひ宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHP、正規表現の使い方

    PHPで特定の文字列から特定の文字までを削除したいのですが、 正規表現を使うということはわかりましたが、どのようにしていいかがいまいちわかりません。 http://www.sample.php?a=test&b=ex&c=sample という文字列があったとして、 &b=exを取り除きたい場合はどのようにしたらいいのでしょうか。 mb_ereg_matchを使用しようと思っていますが、 その他の方法があればそちらも教えてください。

    • ベストアンサー
    • PHP
  • 正規表現について

    PHPにおける正規表現についての質問なのですが、 preg_match('#^/user/(?P<id>[^/]+)$#', $string) 第一引数の正規表現がいまいち理解できません。 ご教授のほど宜しく御願いします。

    • 締切済み
    • PHP
  • 正規表現について

    phpの初心者です。 あるサンプルのプログラムを読んで勉強していたのですが、正規表現の使い方がよく解らず本やサイトで調べましたが、それでも解らなく。 下記の場合ですと同様な結果になるのでしょうか? ereg("(.*)#(.+)",$aa,$bb) また、正規表現に詳しいサイトがあればご紹介頂けますか? 本当に申し訳ありません。

    • ベストアンサー
    • PHP
  • 正規表現について

    HTMLファイルを読み込み、特定の文字列にリンクを付けて出力したいのですが上手くいきません。 例: <img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。  ↓正規表現をキーワードにしてリンクを付けたい。 正:<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。 誤:<img src="./seiki_hyougen.gif" alt="<a href="seiki_hyougen.html">正規表現</a>についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html"><a href="seiki_hyougen.html">正規表現</a>の詳しい説明</a>をクリックして下さい。 尚、下記URLのサンプルを参考にしてスクリプトを作成しています。 http://php.oss.eznetsols.org/manual/ja/function.preg-split.php $r = preg_split('((\/a>)|(<a))', $html, -1, PREG_SPLIT_DELIM_CAPTURE); for ($i = 0; $i < count($r); $i++) { if ($r[$i] == "<a") { $i++; continue; } $r[$i] = preg_replace( "/(正規表現)/i", "<a href='seiki_hyougen.html'>\\1</a>", $r[$i] ); } return join("", $r); この(正規表現)の部分で上手い正規表現を使えばalt="×××"の中にリンクタグが入らないようにできるのでは?と思っているのですが・・・。 どうか、良い方法を教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • PHP