使用PHP更改多个元素

时间:2014-11-09 15:05:00

标签: php replace

我有这个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>将每个<a>替换为类{javalink} $url+old href 例如

<a class=' javalink' href='550c'>E 550c</a> 

更改为

<a href='".$url."550c'>E 550c</a>

2 个答案:

答案 0 :(得分: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>

注意:您可能已根据您的值更改了正则表达式。

答案 1 :(得分:0)

我认为你想在所有<a>标签中使用旧的href。如果这是你的问题,那么你需要将旧的url存储到某个变量中,例如SESSION或COOKIES,然后使用它。