
こんにちは
PHPにて丸カッコ内の文字列を取得しようとしています。
対象の文字列は、「坂倉武史(さかくらたけし)」という文字列の全角丸カッコ「()」内になります。
正規表現でやればすぐに取得できるのかもしれませんが、正規表現の知識が無いため
力ずくでやってみようとしました。
そこで、「(」で文字列の位置を取得して…と考えて色々やったのですが、
この全角丸カッコ「(」が、mb_strposでも位置を検知できず、
全角丸カッコ「(」を半角にして対応してみようかとmb_ereg_replace('(','(','坂倉武史(さかくらたけし)');としようとしても、変換されず困っております。
ちなみに「坂倉武史(さかくらたけし)」という文字列は、
ネット上のあるHTMLから、file_get_contentsでURLを指定してから
取得して、その文字コードがEUC-JPなので、
mb_convert_encoding($dataXML, "UTF-8", "EUC-JP");
で、UTF-8に変更しております。
文字コードの問題のかもしれませんが、答えがみつかりません。
1。正規表現で取得できるのであれば、正規表現の書き方をお教えいただけますでしょうか。
2。正規表現が難しいのであれば、力ずくでやるのでこの「(」全角丸カッコの始まりの検知方法をお教えいただけますでしょうか。
PHPの実行環境は、
PHP5.3
mbstring.language japanese
mbstring.internal_encoding UTF-8
mbstring.encoding_translation ON
default_charset UTF-8
UNIX 文字コード UTF-8
ソース文字コード UTF-8
です
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>mb_convert_encoding($dataXML, "UTF-8", "EUC-JP");
>で、UTF-8に変更しております。
ちゃんと
$dataXML=mb_convert_encoding($dataXML, "UTF-8", "EUC-JP");
としていますか?
ちなみに正規表現であればこんなかんじ?
<?PHP
$str=file_get_contents("・・・");
$str=mb_convert_encoding($str,"UTF-8","EUC-JP");
$pattern="/(?<=().*?(?=))/";
preg_match($pattern,$str,$matches);
print $matches[0];
?>
丁寧なご回答いただきましてありがとうございました。
>ちゃんと
>$dataXML=mb_convert_encoding($dataXML, "UTF-8", "EUC-JP");
>としていますか?
こちらは私の質問の書き方が寸足らずでした。申し訳ございません。
ちゃんとmb_convert_encodingしたものを$dataXMLへ代入しております。
いただきました、正規表現を試した所、無事動く事を確認しました。
ありがとうございます。
正規表現は呪文のようで避けて通っていたのですが、やはりプログラムをやる以上、
避けては通れないようですね… yambejpさんのご回答をみてそう思いました
本当にありがとうございました。 今後ともよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Windows 8 メモ帳による文字コード変換 2 2022/09/01 18:38
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
記号全削除のクラスを作成したい
-
ASCII文字列をEUCなどに変換し...
-
PHPでメール受信時にVISTAから...
-
multipart/form-dataの文字化け
-
「あ」→「82A0」のようにshift-...
-
javascript変数をPHP変数に渡し...
-
phpMyAdmin内での文字化け
-
ASCII文字列のgrep
-
mb_regex_encodingでエンコード...
-
PHPスクリプトでエンコードエラー
-
includeファイルの文字コードに...
-
文字変換
-
メールフォームが部分的に文字...
-
mb_ereg_replaceに関して
-
VBAのコマンドボタンの文字列の...
-
1文字のStrConv fromUnicode
-
「半角数字」と「+」を許可する...
-
ファイル入出力について教えて...
-
VBA初心者です。txtファイルの...
-
クリッカブルマップはネスケで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
PHPでのメール差出人名について
-
PostgreSQLからCSV形式でエクス...
-
PHP cURLでPOSTした値が文字化...
-
SJISからUTFに変換して...
-
SJIS→UTF-8変換後の文字化けに...
-
【PHP】mb_convert_encoding...
-
mb_regex_encodingでエンコード...
-
mb_send_mailの2重投稿を防止し...
-
mb_convert_encoding で 一部の...
-
PHPmailerでの添付ファイルの文...
-
includeファイルの文字コードに...
-
switch文の関数化
-
SQL Serverで文字コードUTF-8
-
phpのメールフォームの完了画面...
-
RSSを取得すると文字化けする。
-
Access VBA wiht文での実行時エ...
-
PHPでメール受信時にVISTAから...
-
mail()で送信したメールのタイ...
-
mb_ereg_replaceに関して
おすすめ情報