首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP偏移量类型非法

PHP偏移量类型非法
EN

Stack Overflow用户
提问于 2011-10-12 04:30:09
回答 3查看 44.3K关注 0票数 18
代码语言:javascript
复制
Warning: Illegal offset type in /email_HANDLER.php on line 85

$final_message = str_replace($from, $to, $final_message);

preg_match_all('/<img[^>]+>/i',$final_message, $result);
$img = array();
foreach($result as $img_tag)
{
    preg_match_all("/(alt|title|src)=('[^']*')/i",(string)$img_tag, $img[$img_tag]); //LINE 85
}

有没有人?我要为这件事抓狂了.

这是我的$img_tag var_dump

代码语言:javascript
复制
array(1) {
  [0]=>
  string(97) "<img alt='' src='http://pete1.netsos.com/site/files/newsletter/banner.jpg' align='' border='0px'>"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-12 04:32:48

假设$img_tag是某种类型的对象,而不是正确的字符串,则将$img_tag强制转换为[]中的字符串

代码语言:javascript
复制
preg_match_all("/(alt|title|src)=('[^']*')/i",(string)$img_tag, $img[(string)$img_tag]);
//------------------------------------------------------------------^^^^^^^^^

一些对象类型,例如SimpleXMLElement,将通过magic method __toString()print/echo返回字符串表示,但不能代替常规字符串。除非您通过(string)$obj将它们转换为正确的字符串,否则尝试将它们用作数组键将产生illegal offset type错误。

票数 35
EN

Stack Overflow用户

发布于 2011-10-12 04:35:11

$result为二维array.So,$img_tag应为数组。

但只能使用整数和字符串作为偏移量

票数 2
EN

Stack Overflow用户

发布于 2016-01-18 11:32:23

代码语言:javascript
复制
foreach( $result[0] as $img_tag)

它起作用了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7732109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档