ブログでゲスト投稿を許可し始めたばかりですが、スパムを避けるために、投稿ごとのリンク数を自動的に制限したいと考えています。
作成者が 3 つ以上のリンクを作成した場合、残りは削除する必要がありますが、アンカー テキストは削除しないでください。
これは可能ですか?
敬具 キム・クリステンセン
編集:
返信ありがとうございます。私は今、次の解決策にたどり着きました:
$html = 'hejsdjhf ksdfh ksdhf ksdfh klsfh kldjfh klsdfh ksdfh ksdfh ksdfh ksd <a href="http://www.test.com">test</a> dkhjdfjkgh ksdfhg ksdhf kjsdhfkg jhsdfklgh sdlfkg <a href="http://www.test.com">test2</a> skdjfh kgh kshg kdjh gklhf gkldhg kjsdfhgk hjsdfkg hdkgh dksfgh ksdfhg ksdhf g <a href="http://www.test.com">test3</a>';
$regexp = "/<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>/siU";
if(preg_match_all($regexp, $html, $matches)) {
$link_count = count($matches[2]);
}
//echo $link_count;
$limit = $link_count - 2;
$regexp = "/<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>/siU";
echo preg_replace($regexp, "$2", $html, $limit);
それが非常に効果的かどうかはわかりませんが、うまくいきます:)