У меня есть этот php-код
$url="hello/f/";
$html="<div class="menu" style='min-height:200px;'>
<ul class="null">
<li>
<a class=' javalink' href='Index'>Home</a>
</li>
<li>
<a class=' javalink' href='100'>A 100</a>
</li>
<li>
<a class=' javalink' href='150'>B 150</a>
</li>
</ul>
</div>";
возможно ли заменить каждый <a>
классом javalink на <a>
с помощью $url+old href
например
<a class=' javalink' href='550c'>E 550c</a>
изменения в
<a href='".$url."550c'>E 550c</a>
Вы можете использовать preg_replace()
$url="hello/f/";
$html="<div class='menu' style='min-height:200px;'>
<ul class='null'>
<li>
<a class=' javalink' href='Index'>Home</a>
</li>
<li>
<a class=' javalink' href='100'>A 100</a>
</li>
<li>
<a class=' javalink' href='150'>B 150</a>
</li>
</ul>
</div>";
print preg_replace("/\<a class\=' javalink' href='(\w+)'\>([\w\s]+)\<\/a\>/im", "<a href='".$url."$1'>$2</a>", $html);
Выходы
<div class='menu' style='min-height:200px;'>
<ul class='null'>
<li>
<a href='hello/f/Index'>Home</a>
</li>
<li>
<a href='hello/f/100'>A 100</a>
</li>
<li>
<a href='hello/f/150'>B 150</a>
</li>
</ul>
</div>
Примечание. Возможно, вы изменили регулярное выражение на основе ваших значений.
Я думаю, вы хотите старый href во всем теге <a>
. Если это ваша проблема, вам нужно сохранить старый URL-адрес в какую-то переменную, такую как SESSION или COOKIES, а затем использовать ее.