簡體   English   中英

使用PHP preg_replace替換兩個字符串之間的值

[英]Using PHP preg_replace to replace a value between two strings

我有一個腳本,該腳本以表格的形式將一些HTML提取到我的網頁中。 我想使用PHP preg_replace替換HTML中包含的一部分URL。 該URL包含一些總是不同的文本。 該URL在網頁中不是唯一的,但是我只想替換的URL出現在特定圖像之前。

到目前為止,我的嘗試(沒有工作,可笑並且可能完全錯誤)如下:

$result = preg_replace( '/\http://www.mysite.com/script.php?&variable=1.*\<img src="http://www.mysite.com/images/image.gif"', 'http://www.mysite.com/script.php?.*\<img src="http://www.mysite.com/images/image.gif"', $result );

上面的示例嘗試從頁面上的單個URL中刪除&variable=1 該URL在頁面上顯示多次,但在image.gif之前僅顯示一次。 URL中始終不同的部分用.*\\表示,以匹配任何內容。

有人能提供一個可行的例子嗎? 謝謝!

我認為您已經很接近了,但是您忘記了一些技術性的東西,例如在正則表達式周圍使用定界符(在下面的示例中為“ |”),並使用引用(在下面為$ 1和$ 2)。 如果以下代碼不起作用,請發布您要匹配的文本示例。

 $result = preg_replace('|http://www.mysite.com/script.php\?([^"]*)&variable=1([^<]*)<img src="http://www.mysite.com/images/image.gif"|', 'http://www.mysite.com/script.php?$1$2<img src="http://www.mysite.com/images/image.gif"', $result );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM