0

我需要将文章的图像和文本分开,问题是它们在数据库的一个字段中,那么我怎样才能在视图中将图像与文本分开?因为我不能把图像和文字放在一起,一团糟

<? foreach ($list as $item) :  ?>

                    <?

                        $year = date('Y', strtotime($item->created));
                        $month = date('m', strtotime($item->created));
                        $day = date('d', strtotime($item->created));


                        $shortDescription = cutString($item->introtext, 100);

                    ?>
                    <div class="footerItem">
                    <?= $day; ?>-<?= $month; ?>-<?= $year; ?>
                    <p><a href="<?= $item->link; ?>"><?= $item->title; ?></a></p>
                    <p>
                    <?= $shortDescription; ?>
                    </p>
                    </div>
<?php endforeach; ?>

所以我需要像这样 $item->image 放置图像 - 这就是我想要的,但是在 joomla latestnews_mod 中,没有图像字段,我不知道是否需要自己编写或编辑这个模块,或者我需要为此使用其他模块?而且我无法获得我需要的字段 $item->category,只有 CAT_ID,我怎样才能获得类别字段?

4

1 回答 1

2

我与 Joomla 有点失去联系,所以这完全有可能不是最简单的方法,但是如果没有特别给出,你可以使用正则表达式从介绍文本中提取图像吗?

你需要一个类似的模式: <img\b[^>]+?src\s*=\s*['"]?([^\s'"?#>]+)

这取自这个问题:Regex to find the first image in an image tag in an HTML document

编辑:使用示例preg_match

<?php
  // This is the Regex pattern from above.
  $pattern = '/<img\b[^>]+?src\s*=\s*[\'"]?([^\s\'"?#>]+)/'; 

  // Perform the search, matches will be stored in $matches
  preg_match($pattern, $item->introtext, $matches ); 

  echo "Image src is: " . $matches[1] . "\n";
?>

请注意,这是相对未经测试的,可能不起作用,如果起作用,可能会错过标记错误的案例!

于 2012-04-20T10:49:44.523 回答