HTML 存储在 MySQL 中。我需要做的是查明是否有包含电子邮件的 href 链接,并且电子邮件中没有 mailto: 前缀。这可以在 MySQL 中完成吗?
这应该通过查询找到:
... <a href="user1@example.com">user1@example.com</a> ...
但不是这个:
... <a href="mailto:user2@example.com">user2@example.com</a> ...
注意:如果需要,我可以使用 PHP/Python 并解析 HTML,但我希望有一种更快/更简单的方法来仅使用 MySQL 来完成此操作。
奖励问题:
您可以在更新中使用上述查询来添加缺少的 mailto 吗?
最佳答案
您可以使用 MySQL REGEXP 查找是否有没有 mailto 的电子邮件。
SELECT * FROM 'table' WHERE 'column' REGEXP 'href\=\"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\"'
我相信正则表达式应该匹配以下格式的任何内容:href =“asdf@asdf.com” 但它不会匹配:href="mailto:asdf@asdf.com"
关于html - 使用 MySQL 查找 HTML 中的电子邮件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31328139/