好的,所以我的问题很简单。我希望答案也是。 比方说,我有以下的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