1

我想要里面的 IMG 标签$_POST['textarea'],从这个改变:

例子:

$_POST['textarea'] = <b>Some example Text</b><br> <img src="image_1.jpg" alt="bla bla" width="250" height="100" /> <u>some more text</u><br> <img src="image_2.jpg" alt="bla bla" width="50" height="20" />

变成这样的格式:

$final = <b>Some example Text</b> <a class="fancybox" rel="gallery1" href="image_1.jpg" title="bla bla"><img src="image_1.jpg" alt="bla bla" width="250" height="100" /></a> </u>some more text</u> <img src="image_2.jpg" alt="bla bla" width="50" height="20" />
  1. 如何仅将 class="fancybox" 添加到宽度大于 50px 的 IMG 标签?
  2. 如何按顺序处理所有 IMG 标签及其相应的值?
  3. 如何在 Var $final 中打印带有所有标签和文本以及更新的 IMG 标签的 Var $_POST['textarea'] 的全部内容?
4

1 回答 1

0

在您的页面中包含 simple_html_dom.php。从http://en.sourceforge.jp/projects/sfnet_simplehtmldom/downloads/simplehtmldom/1.10/simplehtmldom_1_10.zip/下载

 <?php
require_once('controller/simple_html_dom.php');
$str = 'Some example Text <img src="image_1.jpg" alt="bla bla" width="250" height="100" /> 
        some more text <img src="image_2.jpg" alt="bla bla" width="50" height="20" />';

$html = str_get_html($str);
$img = array();
foreach ($html->find('img') as $images) {
    if($images->getAttribute('width') > 50) {
        $img[] = '<a class="fancybox" rel="gallery1" href="'.$images->getAttribute('src').'" title="bla bla">'.$images.'</a>';
    } else {
        $img[] = $images;
    }
}

$full = '';

$i = 0;
foreach ($html->find('text') as $text) {
    $full .= $text.$img[$i];
    $i++;
}
echo $full;
?>
于 2013-05-19T10:56:11.847 回答