-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

您可以使用SimpleHTMLDOM假装您有一个名为 $t 的变量

// '$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 回答