Изменить несколько элементов с помощью PHP

0

У меня есть этот 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>
Теги:
replace

2 ответа

1
Лучший ответ

Вы можете использовать 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>

Примечание. Возможно, вы изменили регулярное выражение на основе ваших значений.

  • 0
    Химал, спасибо, спасибо, спасибо.
0

Я думаю, вы хотите старый href во всем теге <a>. Если это ваша проблема, вам нужно сохранить старый URL-адрес в какую-то переменную, такую как SESSION или COOKIES, а затем использовать ее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню