人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のURLに書かれているmb_eregを
preg_match_allを使用して、マッチする
文字列を複数取得したいのですが
どのように記述すればいいでしょうか?

http://q.hatena.ne.jp/1210744904


●質問者: hopefully
●カテゴリ:就職・転職 コンピュータ
✍キーワード:URL マッチ 文字列 記述
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

入力されたテキストを $str とすると、下記の通りで、複数ある10進コードを画面に表示します。

$pat1 = "/&#(63(6((4[7-9])|([5-9][0-9]))|(7[0-9][0-9])|(8(([0-2][0-9])|3[0-8]))));/";
$pat2 = "/[0-9]{5}/";

if (preg_match_all($pat1, $str, $mat, PREG_SET_ORDER) > 0) {
 foreach ($mat as $cd) {
 echo $cd[1] . "<br />\n";
 }
}

なお、$str は日本語を含むという前提なので、preg_match_allでは確実に分離できない可能性があります。そのため、従前の回答では mb_ereg_match を使いました。

PHPの仕様上、$str が UTF-8 なら大丈夫のはずですが、ちょっと不安です。

mb_ereg_match を使って preg_match_all 相当のユーザー関数を作るといいと思うのですが‥‥どなたかにヘルプをお願いします。

このあたりの事情については、過去質問「PHPのpreg_match_all関数について」を参考にしてください。

◎質問者からの返答

実行したら

No ending delimiter ”&amp;” found i

という風になっていまうのですが・・・


2 ● pahoo
●35ポイント

実行したら

No ending delimiter ”&amp;” found i

という風になっていまうのですが・・・

#1のコードとは別の部分のエラーではないかと‥‥ソースコード全体とエラー発生行をお知らせください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ