$hoge2 = ”’ <a href=¥”¥¥1¥¥2¥” title=¥”¥¥1¥¥2¥” target=¥”_blank¥”>¥¥1¥¥2</a>’”;
$hogehoge = preg_replace($hoge1, $hoge2, $pee);
PHPの正規表現について質問です。html上のURLを自動的にリンクタグ付与させようと考えていて、上記コードを組み入れているんですが、どうしてもURL前に全角スペースがあると文字化けしてしまいます。うまい解決法は無いでしょうか?
正規表現部分だけにかぎればperlでもphpと変わらないはずなのでこちらが参考になるのでは。全角スペースで文字化けするということは、正規表現で全角スペースの前半や後半のバイトが一致したりしてしまうということだと思うので、文字コードや、phpの文字コード関係の設定がマルチバイト対応になってないか、でしょう。
http://ns1.php.gr.jp/pipermail/php-users/2004-May/022283.html
[PHP-users 21761]Re: preg_replaceで文字化け
このへんなど関係で。
mb_ereg_replace
んと。
全角スペースをURLに記載した方法で正しくマッチさせて、除去させてみたら?
なんか訳解らないコメントだけど、
テスト文字列で、サーファーの一部分が文字化けしなければ成功、ってかw
コメント(0件)