○質問の主旨
preg_replace関数の引数の一部にある<a>タグ内の
target属性を"_blank"にしていますが、新しいウィンドウが開かず、
元の画面のまま、href属性のリンク先に遷移します。
新しいウィンドウにhref属性のURLを表示させるためには
どうすれば良いでしょうか?
ご存知の方がいらっしゃいましたら、ご教示願います。
○質問の補足
現在、以下のようなコードを用いています。
$tweet['text']=preg_replace("/(http:\/\/t.co\/[a-zA-Z0-9]{10})/", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $tweet['text']);
$tweet['text']とは、Twitter RESTAPI1.1のGET search/tweetsから
ひっぱってきた文字列で、ツィート本文のことです。
コード全体の意味は、
「ツィート本文にhttp://t.co/○○○○○○○○○○という文字列があれば、
そのリンク先にtarget=_blankで遷移しなさい」
ということになります。
以上、よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
$tweet['text']=preg_replace("/(http:\/\/t.co\/[a-zA-Z0-9]{10})/", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $tweet['text']);
target の前の空白がマルチバイト文字(いわゆる全角)になっています。そのためtarget属性が(ブラウザに)正しく認識されていません。
$tweet['text']=preg_replace("/(http:\/\/t.co\/[a-zA-Z0-9]{10})/", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $tweet['text']);
agunuzさま
コメントありがとうございます。
ご指摘の通りtargetの前の空白を全角から半角にすると、
新しくウィンドウが開くようになりました。
アドバイス助かりました。
No.3
- 回答日時:
#2は、いずれにしろいい方法ではありません
失礼しました、あしからず
No.2
- 回答日時:
ポップアップブロックじゃない?
いろいろ問題があるとは思いますがjavascriptで開いてみては?
<?PHP
$str="てすとてすとhttp://t.co/xxxxxxxxxxてすとてすと";
$pattern="/(http:\/\/t.co\/[a-zA-Z0-9]{10})/";
$replacement="<a href=\"#\" onclick=\"window.open('\\0','_blank');return false;\">\\0</a>";
$str=preg_replace($pattern,$replacement, $str);
print $str;
?>
ちなみにもともとアンカーにhrefとして指定されていると
ダブルバインドしておかしくなりそうですね
yambejpさま
コメントありがとうございます。
今回の問題に関しては、
回答No.1で解決することができました。
上記のコードは今後の参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2022/04/01 12:11
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c# string型の変数に、ダブルク...
-
(から)までの文字列を削除したい
-
【php】二進数をフラグとして扱...
-
独自タグに囲まれた文字列の変換
-
PHPで「,」を「, 」へ置換した...
-
文字列の置換をCStringで(C++)
-
VBSで"をエスケープする文字は?
-
mcryptで英数字(12未満)のみに...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
テキストファイルから改行コー...
-
エスケープ文字の復帰(¥r)と...
-
文字の入力で横バー上段、中断...
-
グレープシティのSPREAD...
-
エクセルのCOUNTIFが正しくカウ...
-
UTF8メールがLotus Notesで文字...
-
jsp 改行コードで改行させて表...
-
ExcelVBAでメールを作成してメ...
-
C++で空Enterの入力を判...
-
csobjというタグについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダブルコーテーション(
-
VBSで"をエスケープする文字は?
-
PHP・Wordpress preg_replaceを...
-
文字列の置換をCStringで(C++)
-
○分から○時間○分に変換
-
文字列の括弧について(初心者)
-
近似した文字列を置換するエク...
-
PHPの¥
-
ダブルクォーテーションが置換...
-
php 正規表現で、\\マークを取...
-
(から)までの文字列を削除したい
-
文字列のアスタリスク置換
-
htmlspecialchars関数でエスケ...
-
nl2brが効かないのですが・・・
-
PHPでCSVを出力する際のセルに...
-
c# string型の変数に、ダブルク...
-
正規表現で<BR>の行を除外した...
-
ダブル、シングルクォーテーシ...
-
空白文字のカンマへの変換について
-
【PHP】preg_replace() で正...
おすすめ情報