1

この正規表現の一致と置換を実行しようとしていますが、実行できません。

<a href=one target=home>One</a>
<a href=two>Two</a>
<a href=three target=head>Three</a>
<a href=four>Four</a>
<a href=five target=foot>Five</a>

タグの各セットを見つけて、このようなものに置き換えたい

探す

<a href=one target=home>One</a>

への変更

<a href='one'>One</a>

残りの a タグも同様です。

どんな助けでも大歓迎です!

4

3 に答える 3

5

を使用DomDocument()すると、HTML を操作する簡単な方法になります。

<?php
    $str = '<a href=one target=home>One</a>
<a href=two>Two</a>
<a href=three target=head>Three</a>
<a href=four>Four</a>
<a href=five target=foot>Five</a>';
    $dom = new DomDocument();
    $dom->loadHTML($str);
    $anchors = $dom->getElementsByTagName('a');
    foreach ($anchors as $a)
    {
        if ($a->hasAttribute('target'))
        {
            $a->removeAttribute('target');
        }
    }
    $str = $dom->saveHTML();

実際に見る

于 2013-05-18T16:04:27.773 に答える
0

正規表現が必要な場合は、これを試してください:

$str = preg_replace('/<a [^>]*href=([^\'" ]+) ?[^>]*>/',"<a href='\1'>",$str);

ただし、これを行うために正規表現を使用することはお勧めしません。

于 2013-05-18T16:26:20.133 に答える