DBからデータを取得し、その中にもし外部リンクがあったら、aタグにrel="nofollow"をつけたいと考えています。
PHP
1// 内部リンクの場合 2$test_text = 'テストです<a href="http://hogetest.com/aaa.php">リンクです</a>'; 3if (preg_match('/<a.*?>/', $test_text) && 4 (strpos($test_text,'hogetest.com') === false) && 5 (strpos($test_text,'http://') !== false || strpos($test_text,'https://') !== false) 6 ){ 7 $test_text = preg_replace("/<a(.*?)>/","<a$1 rel=\"nofollow\">",$test_text); 8} 9// nofollowがつかない 10echo $test_text;
PHP
1// 外部リンクの場合 2$test_text = 'テストです<a href="http://testtest.com/aaa.php">リンクです</a>'; 3if (preg_match('/<a.*?>/', $test_text) && 4 (strpos($test_text,'hogetest.com') === false) && 5 (strpos($test_text,'http://') !== false || strpos($test_text,'https://') !== false) 6 ){ 7 $test_text = preg_replace("/<a(.*?)>/","<a$1 rel=\"nofollow\">",$test_text); 8} 9// nofollowがつく 10echo $test_text;
上記のような感じでできるといえばリンク一つならできるのですが、書き方がなんかいまいちなような気がするのと、
$test_textに内部リンクと外部リンクが混在していると、必ずどちらにもnofollowがついてしまいます。
どのようにすれば良いのか、ご教示お願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/11 06:13
2019/12/11 06:28
2019/12/11 06:31