好的,所以我的問題很簡單。我希望答案也是。 比方說,我有以下的PHP字符串:帶數組的preg_replace字符串
<!DOCTYPE html>
<html>
<head>
<title>test file</title>
</head>
<body>
<div id="dynamicContent">
<myTag>PART_ONE</myTag>
<myTag>PART_TWO </myTag>
<myTag> PART_THREE</myTag>
<myTag> PART_FOUR </myTag>
</div>
</body>
</html>
比方說,這是$內容。 現在,您可以看到我有4個自定義標籤(myTag),其中包含一個單詞內容。 (PART_ONE,PART_TWO等) 我想用4個不同的字符串替換那4個。這些後4個字符串數組中:
$replace = array("PartOne", "PartTwo", "PartThree", "PartFour");
我這樣做,但它並沒有成功地工作:
$content = preg_replace("/<myTag>(.*?)<\/myTag>/s", $replace, $content);
所以,我想搜索myTags(發現4)並更換與陣列的一個條目。第一次出現應該由$ replace [0]替換,第二次出現由$ replace [1]替換,等等。 然後,它會以字符串的形式返回「新的」內容(不是數組),所以我可以使用它進一步解析。
我該如何認識到這一點?
這將是非常非常簡單的搜索PART_ONE等... – Floris 2013-03-06 15:41:18
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except -xht ml-self-contained-tags – TFennis 2013-03-06 15:42:41
哦,是的,我忘了告訴我不知道myTag的價值,所以PART_ONE可以同樣好「MY_ELEPHANT」。我應該可以在html模板中輸入任何內容,然後代碼將看到myTag標籤之間的任何內容。 此外,我不認爲這句話「你不能用正則表達式解析html」,因爲我不解析標籤的屬性,而只是一個標籤的值,這是一個簡單且安全的任務正則表達式。 – 2013-03-06 15:45:03