0

我知道这可能看起来很简单,但我对如何完成这项任务感到困惑。

我需要从数组键/值中删除所有 HTML IMG 标记,然后将这些删除的 HTML IMG 标记推回同一个数组,这次使用它自己的单独数组键。

样本:

$array = array(
    'content' => '<img src="http://www.domain.com/images/img.png" width="100" height="100" alt="" />here is some content that might also be in this string.'
);

$array = array(
    'content' => 'here is some content that might also be in this string.',
    'image' => '<img src="http://www.domain.com/images/img.png" width="100" height="100" alt="" />'
);

HTML IMG 标记和字符串中的其余文本总是不同的。内容永远不会完全相同,所以我真的不知道该怎么做。我在想explode()str_replace()

4

1 回答 1

1

你需要一个正则表达式。就像是:

$pattern = '#<img(.*)/>#U'; // note need to use ungreedy match here.';
$number_of_matches = preg_match_all($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);

这将告诉您匹配的数量以及匹配的信息(包括匹配的字符串和匹配字符串的偏移量,您将使用它来从原始字符串中删除内容)

于 2012-07-24T15:46:22.207 回答