ホームページ  >  記事  >  バックエンド開発  >  PHP一致文字リンクアドレスプログラムコード_PHPチュートリアル

PHP一致文字リンクアドレスプログラムコード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 16:57:081003ブラウズ

昨日、友人から、ユーザーが送信したデータにスーパー接続が含まれているかどうかを確認できるかどうか尋ねられました。そうであれば、接続をフィルタリングする方法を紹介します。

文字列にハイパーリンクが含まれているかどうかを判断する

コードは次のとおりです コードをコピー

$str="ssdsfsdfsdfss";
if(preg_match("/]*>|]*>/i",$str))
{
echo "この文字列にはハイパーリンクがあります";
}
それ以外
{
echo "文字列にはハイパーリンク タグがありません";
}
?>


次に、接続部分をフィルタリングするだけです。

コードは次のとおりです コードをコピー

echo preg_replace("/(?<=href=)([^>]*)(?=>)/i","#", "こんにちは、ここをクリックしてご覧くださいこんにちは、ここをクリックしてご覧ください");
?>

定期: /(?<=href=)([^>]*)(?=>)/

(?<=exp) は exp の後の位置と一致します
(?=exp) は exp の前の位置と一致します
この通常の一致は、href= の後および「>」の前にある「>」以外のすべての文字と一致します。

例:

これらの文字 (URL) を見つけて # に置き換えて、HTML 内のすべてのリンクを削除します。

ハイパーリンクを抽出する例を共有します

コードは次のとおりですコードをコピー
関数 match_links($document) {

preg_match_all("']+))[^> ]*>?(.*?)'isx",$document,$links);

while(list($key,$val) = each($links[2])) {

if(!empty($val))

$match['link'][] = $val;

}

while(list($key,$val) = each($links[3])) {

if(!empty($val))

$match['link'][] = $val;

}

while(list($key,$val) = each($links[4])) {

if(!empty($val))

$match['content'][] = $val;

}

while(list($key,$val) = each($links[0])) {

if(!empty($val))

$match['all'][] = $val;

}

$match を返します;

}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631563.html技術記事昨日、友人から、ユーザーが送信したデータにスーパー接続が含まれているかどうかを確認できるかどうかを尋ねられました。含まれている場合は、接続をフィルタリングする方法を紹介します...