2013-07-08 53 views
1

我是preg_replace的新手,並且有問題。PHP使用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 examplE.com exAmPLe.com全部替換爲yyy.com

注意:在某些img中,它們具有alt屬性,但其中一些不具備alt屬性

+0

所以你想保留圖片標籤和文字後? –

+0

是的,先生我想保持圖像源url – prabowo

回答

0

您可以使用lookbehinds:上道德這裏

preg_replace("/(?<!\/)xxx/", "yyy", $text); 
+0

真棒!感謝它的工作:) – prabowo

+0

btw它不區分大小寫,我使用/ i和工作preg_replace(「/(?<!\/xxx/i」,「yyy」,$ text)不區分大小寫。謝謝凱利:) – prabowo

0

剛一說明。

如果站點example.com屬於他人,則不應聲明該圖像的所有權(屬於您的站點example2.com)。充其量,這是「盜鏈」;最糟糕的是,盜竊。如果您有權限從您的網站訪問圖片,沒問題。請注意,任何拉上該圖片的人都應該看到它來自example.com,而不是example2.com,並且應該懷疑爲什麼你聲稱它的 example2.com。他們的安全軟件甚至可能會阻止這種跨站點活動。

+0

哦不,不,不,我不會做那件事,那裏的文本只是樣本,什麼iam看起來是preg_replace函數,我會在我的辦公室使用內聯網(不是互聯網)上的其他功能 – prabowo