【发布时间】:2021-06-03 06:58:54
【问题描述】:
我为此编写了这个脚本,但有一个我无法解决的问题:
$buffer = '<a href="http://wwww.domain.com">Domain1</a>';
$buffer .= '<a href="http://wwww.domain.com?id=2">Domain2</a>';
preg_match_all('/<a href="(.*?)"/s', $buffer, $matches);
$searches = array();
$replaces = array();
foreach($matches[1] as $link){
$contain = parse_url($link, PHP_URL_QUERY);
$symbol = $contain ? "&" : "?";
$new_link = $link . $symbol . "mode=testing";
$searches[] = $link;
$replaces[] = $new_link;
}
$newbuffer = str_replace($searches ,$replaces , $buffer);
var_dump($newbuffer);
输出:
<a href="http://wwww.domain.com?mode=testing">Domain1</a>
<a href="http://wwww.domain.com?mode=testing?id=2">Domain2</a>
将参数添加到每个链接的预期输出:
<a href="http://wwww.domain.com?mode=testing">Domain1</a>
<a href="http://wwww.domain.com?id=2&mode=testing">Domain2</a>
有什么帮助吗?
【问题讨论】:
标签: php regex str-replace