2012-10-03 67 views
0

假設我有以下的HREF:使用preg_replace函數追加一個值

.... HREF = 「HTTP://本地主機/ centboox/usedtextbooks /降序/ 30」 ....

我想通過所有這些,* *剛剛閉幕的HREF的雙引號前添加:

... href="http://localhost/webname/pagename/desc/30*******" ... 

星號代表一些輸入如?q =全部& a = search_text

我該如何通過preg_replace在PHP中執行此操作。

感謝

+0

我不認爲你需要'preg_replace' ......你不更換任何東西......只是追加到字符串...看看我的回答以下... –

+0

@JustinWood:'****'需要被插入一個更長字符串的特定位置(參見示例中的'...'s)。 –

回答

3
$result = preg_replace('/href="[^"]*/', '\0********', $subject); 
+0

正是我想要的。 – user311509

0

任何原因,你不能只串聯,如果你要總是這樣做是爲了字符串的結束?

// Assuming you're array is already filled out... 
$somethingToAppend = "?q=all&a=search_text" 

foreach($hrefs as $key => $value) { 
    $hrefs[$key] = $value + $somethingToAppend; 
} 

乾杯

0

這裏有一個簡單的例子:

$href = <<<EOHTML 
<a href="test.html?value=one">LINK</a> 
EOHTML; 

$href = preg_replace("/href=\"([^\"]*)\"/", 
    "href=\"$1**\"", $href); 

echo $href; 

在正則表達式我在尋找href="(something)"和我與href="(something)**"替換它。