ホームページ  >  記事  >  バックエンド開発  >  文字列ハイパーリンクを削除する PHP 正規表現 text_PHP チュートリアル

文字列ハイパーリンクを削除する PHP 正規表現 text_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:44:15730ブラウズ

N がかなり前に行ったいくつかの非常に悪い行為により、Web サイトのコンテンツ ページにいくつかのジャンク データが生じたため、今朝、文字列のハイパーリンク テキストを削除する方法を開発しました。以下の通常のルールで処理します。

以下の例の機能は、すべての HTML タグをフィルターし、h1 ~ h5 より前のすべてのテキストを置き換えることです

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

for( $i=1;$i {

$sql ="SELECT * FROM `テーブル名` WHERE `フィールド` like '%%' ";

$query = mysql_query( $sql ) または die(mysql_error());

if( mysql_num_rows( $query ) )
{
while ( $rs = mysql_fetch_array( $query ) )
{
//print_r($rs);

$t = ストリップスラッシュ($rs['フィールド']);
$str = nl2br(strip_tags(addslashes(removelink($t))));
$sql="更新テーブル名 set field='$str' where id=".$rs['id'];


If(mysql_query($sql))
{
echo $rs['id'].'成功
';
}
それ以外
{
エコー mysql_error();
}
}
}
それ以外
{
echo '更新されましたが、レコードはありません'.$sql.'
';
}

}


関数removelink($t)
{
//$str = preg_replace("/]*href=[^>]*>|]*>/i", "",$t);

$str = preg_replace("/(?is)(?).*?(?=)/i","",$t);
$str = preg_replace("/(?is)(?).*?(?=)/i","",$str);
$str = preg_replace("/(?is)(?).*?(?=)/i","",$str);
$str = preg_replace("/(?is)(?).*?(?=)/i","",$str);
$str = preg_replace("/(?is)(?).*?(?=)/i","",$str);

return re_h($str);
}

関数 re_h($str)
{
$str = str_replace('

','',$str);
$str = str_replace('

','',$str);
$str = str_replace('

','',$str);
$str = str_replace('

','',$str);
$str = str_replace('

','',$str);
$str = str_replace('
','',$str);
$str = str_replace('','',$str);
$str = str_replace('','',$str);
$str = str_replace('','',$str);
$str = str_replace('','',$str); $str;
を返します }

上記では次の正規表現が使用されています

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

これがコアコードです


たとえば、テキストからハイパーリンクのコンテンツを削除する必要がある場合は、正規表現を使用する必要があります。たとえば、 $str = preg_replace("/]*href=[^>]*>|]*> を使用できます。 /i ","",$strhtml); この段落は要件を実装するために使用されます。さらに解決策が必要な場合は、以下を参照してください。

1. コンテンツ内のハイパーリンクを削除します

preg_replace("/(?is)(?).*?(?=)/i","",$t);

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

ereg_replace(']*)>([^<]*)','2', $content);

ereg_replace("]*>|","",$content);

2. 特定の単語を含むハイパーリンクを削除します

コードは次のとおりですコードをコピー
$find="この文字列は私が見つけたものです";

$string='replaced';//ハイパーリンクのコンテンツを
に置き換えます echo ereg_replace(']*)>([^<]*'.$find.'[^>]*)',' 2',$content);

このサイトのオリジナル作品、転載する場合は出典 www.bKjia.c0m を明記してください。そうでない場合、その結果はあなたが責任を負います

http://www.bkjia.com/PHPjc/633130.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/633130.html技術記事かなり前に行った非常に悪い行為により、Web サイトのコンテンツ ページにジャンク データが発生したため、今朝、文字列のハイパーリンク テキストを削除するメソッドを作成しました。これを通常のルールと組み合わせます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。