1

我是新手preg_replace,有问题。

我有这种文字

$text  = 'welcome to example.com site and this is image from example.com <img alt="image of example.com site" src="http://example.com/image.jpg"/> have a nice day!';

是否有可能使结果变成

welcome to yyy.com site and this is image from yyy.com <img alt="image of yyy.com site" src="http://example.com/image.jpg"/> have a nice day!

就像你在这里看到的那样,在纯文本和 alt example.com上更改为yyy.com但不在 img 源上,img src 仍然转到 example.com(我想保持这样)

如果可能的话,替换是不区分大小写的,所以 eXample.com exampleE.com exAmPLe.com 全部替换为 yyy.com

注意:在某些 img 中,它们具有 alt 属性,但其中一些没有 alt 属性

4

2 回答 2

0

您可以使用lookbehinds:

preg_replace("/(?<!\/)xxx/", "yyy", $text);
于 2013-07-08T15:29:34.367 回答
0

这里只是关于道德的说明。

如果站点 example.com 属于其他人,则您不应声明该图像的所有权(属于您的站点 example2.com)。充其量,这是“盗链”;最坏的情况是盗窃。如果您有权从您的站点访问图像,那很好。请注意,任何拉起该图像的人都应该看到它来自 example.com 而不是 example2.com,并且应该怀疑您为什么声称它example2.com 上。他们的安全软件甚至可以阻止此类跨站点活动。

于 2013-07-08T16:40:37.310 回答