ホームページ > バックエンド開発 > PHPチュートリアル > [緊急ヘルプ] 非サイト ドメイン名を通常またはクラスに置き換える、PHP

[緊急ヘルプ] 非サイト ドメイン名を通常またはクラスに置き換える、PHP

WBOY
リリース: 2016-06-23 13:58:50
オリジナル
998 人が閲覧しました

ユーザーの投稿内のすべてのリンク (*このサイト以外のドメイン名のリンク) を指定されたリンクに置き換えるフォーラム プログラム


例: ソース コード:


------------- ------------------------------------
りー

---------- --------------------------------------------------

に置き換えてください
------------------------

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 = << AAAA
BBBBB
< ;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);
まずは通常のルールを修正するだけです

ご協力ありがとうございます。はぁ〜〜〜



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート