ホームページ >データベース >mysql チュートリアル >正確な検索結果を得るためにデータベース レコードから HTML タグを効果的に削除するにはどうすればよいですか?
HTML 形式のテキストを含むデータベース テーブルから特定の情報を抽出する場合、正確な情報を得るために HTML タグを削除することが不可欠です。結果。 「WHERE column_name LIKE '%mytext%'」のような単純な LIKE クエリは、「mytext」を含むすべての行を取得できますが、HTML タグ内に「mytext」が出現する行も含まれる可能性があります。
この問題に対処するには、より効果的なアプローチには、特定の文字列から HTML タグを特別に削除するカスタム MySQL 関数を作成することが含まれます。このような関数のコードは次のとおりです。
SET GLOBAL log_bin_trust_function_creators=1; DROP FUNCTION IF EXISTS fnStripTags; DELIMITER | CREATE FUNCTION fnStripTags( Dirty varchar(4000) ) RETURNS varchar(4000) DETERMINISTIC BEGIN DECLARE iStart, iEnd, iLength int; WHILE Locate( '<', Dirty ) > 0 And Locate( '>', Dirty, Locate( '<', Dirty )) > 0 DO BEGIN SET iStart = Locate( '<', Dirty ), iEnd = Locate( '>', Dirty, Locate('<', Dirty )); SET iLength = ( iEnd - iStart) + 1; IF iLength > 0 THEN BEGIN SET Dirty = Insert( Dirty, iStart, iLength, ''); END; END IF; END; END WHILE; RETURN Dirty; END; | DELIMITER ;
この関数を使用すると、クエリは次のようになります。
SELECT * from table WHERE fnStripTags(column_name) LIKE '%mytext%'
これで、クエリは、 HTML タグ内のインスタンスを除く、コンテンツ自体。これにより、より正確で関連性の高い結果が得られ、必要なデータのみが確実に取得されます。
以上が正確な検索結果を得るためにデータベース レコードから HTML タグを効果的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。