-4
Some text before <img style="float: left;" src="../images/265218_imgthw.jpg" alt="" width="81" height="88"> some text after

db からのテキスト内にそのようなラップがあるとします。次のように変更する必要があります。

Some text before <a href='../images/265218_imgthw.jpg'><img style="float: left;"     src="../images/265218_imgthw.jpg" alt="" width="81" height="88"></a> some text after

助けてください。爆発でimgタグを使用してコードを壊してみました。正常に動作しますが、regEx を使用してコードを削減する必要があります。これは私がそれを行う方法です:

$string = "<img";
$explored = explode($string,$desc);
$desc = "";
foreach ($explored as $key => $value) {
static $counter = 0; 
if(strpos($explored[$key], '/>')){
$desc .= "<a href='".$path.$image[$counter]."' class='lightview'><img".$explored[$key];
$counter++;
} else $desc .= $explored[$key]."<a href='".$path.$image[$key]."' class='lightview'><img";
                        }


$string = "/>";
                        $explored = explode($string,$desc);
                        $desc = "";
                        foreach ($explored as $key => $value) {
                                if(strpos($explored[$key], '<img'))
                                {
                                    $desc .= $explored[$key]."/></a>";
                                }
                                else $desc .= $explored[$key];

                            } 
4

1 に答える 1

1

$t という名前の変数があるふりをするSimpleHTMLDOMを使用してそれを行うことができます

// '$t' is the element to be wrapped with anchor
$tempHtml = str_get_html('<a>' . $t->outertext . '</a>');
$link = $tempHtml->find('a', 0);
// '$src' is the url of the link
$link->href = $image['src'];
于 2013-08-22T12:49:44.257 に答える