我有一些文字,例如:
$text="<body><div><p>Some test text.</p></div><p>Some test text.</p></body>";
我有一组正则表达式:
$regexes = array(
0 => '/<div>.*<\/div>/',
1 => '/<p>.*<\/p>/')
;
我需要将每个正则表达式轮流应用到源 $text 以及在找到的块中进行一些替换时。
例如:
$result = $text;
foreach ($regexes as $reg) {
preg_match($reg, $result, $matches);
$result = $matches[0];
}
返回"<p>Some test text.</p>"
如何将单词“text”替换为单词“new”,但仅在 $text 的第一部分?数组 $regexes 的元素(正则表达式)可以是任意数量和顺序。
结果应该是这样的:"<body><div><p>Some new text.</p></div><p>Some test text.</p></body>"