我有一个文章数据库,其中包含大约 8,000 篇文章中的大约 4,000 个损坏的链接。这些损坏的链接中约有一半遵循某种模式,通过使用正确的 PHP 脚本,可以自动修复这些损坏的链接。
相关损坏的链接包含如下链接:
<a href="http://www.mydomain.tld/article1234-plus-a-slug-
that-varies-in-length.html">some text</a>
“1234”部分代表文章的唯一ID。它可以是 101 到 10700 之间的三到五位数字。该唯一 ID 的数据库记录包含该页面的正确 URL。
我需要识别每篇文章的 HTML 中符合此模式的字符串,提取 URL 的“1234”部分,将其分配给 $ 变量,然后将文章的 HTML 标记中的 URL 替换为该链接具有从该唯一 ID 的数据库中获取的正确 URL。
我怀疑 preg_match 是在这种情况下使用的合适函数,但我真的不知道如何构建 PHP 脚本。 (我的 PHP 技能不太好。我的正则表达式技能也不是很好。)任何人都可以帮助我使用一个简单的脚本来处理此任务吗?
最佳答案
$url = '<a href="http://www.mydomain.tld/article1234-plus-a-slug-
that-varies-in-length.html">some text</a>';
preg_match("#article([0-9]+)#i", $url , $urlmatches);
printf( 'id: %d' , (int) $urlmatches[1] );
关于php - 需要帮助使用 preg_match 修复数据库中文章中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20808957/