ユーザーの投稿内のすべてのリンク (*このサイト以外のドメイン名のリンク) を指定されたリンクに置き換えるフォーラム プログラム
例: ソース コード:
------------- ------------------------------------
りー
---------- --------------------------------------------------
に置き換えてください
------------------------
rree
-------------- ------------ ------------
要件: AAA.com 以外のドメイン名のすべてのリンクを「#」ポンド記号に置き換えます
次のコードは、すべてのリンクをポンド記号に置き換えることはできますが、それが AAA.COM であるかどうかを判断することはできません
echo preg_replace("/(?<=href=)([^>]*)(?=>)/ i","javascript:;", "こんにちは、ここをクリックしてご覧くださいこんにちは、ここをクリックしてご覧ください");
鄭澤のマスターに助けを求めています。とても不安です。午前中ずっと理解できませんでした。
<a href="http://www.AAA.com/" target="_blank">AAAAA</a><a href="http://wer.123.com/" target="_blank">BBBBB</a><a href="http://adf.h4.456.com/" target="_blank">CCCCC</a><a href="http://wer.AAA.com/" target="_blank">DDDDD</a><a href="http://asdgwre.wer.222.789.com/" target="_blank">EEEEE</a><a href="http://fadsf.543.com/" target="_blank">FFFFF</a><a href="http://234r.231.com/" target="_blank">GGGGG</a>
ありがとう
<a href="http://www.AAA.com/" target="_blank">AAAAA</a><a href="#" target="_blank">BBBBB</a><a href="#" target="_blank">CCCCC</a><a href="http://wer.AAA.com/" target="_blank">DDDDD</a><a href="#" target="_blank">EEEEE</a><a href="#" target="_blank">FFFFF</a><a href="#" target="_blank">GGGGG</a>
$str = <<<str<a href="http://www.AAA.com/" target="_blank">AAAAA</a><a href="http://wer.123.com/" target="_blank">BBBBB</a><a href="http://adf.h4.456.com/" target="_blank">CCCCC</a><a href="http://www.wer.AAA.com/" target="_blank">DDDDD</a><a href="http://asdgwre.wer.222.789.com/" target="_blank">EEEEE</a><a href="http://fadsf.543.com/" target="_blank">FFFFF</a><a href="http://234r.231.com/" target="_blank">GGGGG</a>str;echo preg_replace_callback("/http\:\/\/[^.]*[^A]+\.com\//is",function($r) { return str_replace($r[0], "#", $r[0]); },$str);
ありがとうmicrolab2009
しかし、アプリケーションでテストしたところ、いくつかの問題が見つかりました
1:非サイトリンクを置き換えるシャープ記号が付いていますが、リンク以外も置き換えられます。
例: と www.163.com (リンク以外の文字列) はすべて #ポンド記号に置き換えられます
2: リンクを削除します
BBBBB
および
BBBBB
処理中にエラーが発生しました。最初のものは変更できますが、2 番目のものは変更できません。
神様が私を助けてくださることを願っています、無限の感謝が私の心に流れ込んでいます...
1. $str = <<
BBBBB a>
< ;a href="http://adf.h4.456.com/" target="_blank">CCCCC
DDDDD
EEEE
FFFFF
GGGGG< ;/a>
http://234r.231.com
str;
echo preg_replace_callback("/ (?<=href=")http://[^.]*[^A] +.com/ /is",function($r) { return str_replace($r[0], "#", $r[0]); },$str);
?>
2.echo preg_replace_callback ("/< ;a href="http://[^.]*[^A]+.com/" [^>]*>([^<]+)/is ",function( $r) { returntrip_tags($r[0]); },$str);
まずは通常のルールを修正するだけです
ご協力ありがとうございます。はぁ〜〜〜
。