我知道这看起来很简单,但我对如何完成这项任务感到难过。
我需要从数组键/值中删除所有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()
。
答案 0 :(得分:1)
你需要一个正则表达式。类似的东西:
$pattern = '#<img(.*)/>#U'; // note need to use ungreedy match here.';
$number_of_matches = preg_match_all($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
这将告诉你匹配的数量,以及匹配的信息(包括匹配的字符串和匹配字符串的偏移量,用于从原始字符串中删除内容)