为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查我的数组是否包含特定单词

如何检查我的数组是否包含特定单词

PHP
慕容708150 2022-10-14 15:50:12
 $pattern = "/(?i)\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'\".,<>?«»“”‘’]))/"; $str =  file_get_html($_GET['url'])->plaintext; if($num_found = preg_match_all($pattern, $str, $out)) {    print_r($out[0]); } Output Array ([0] => https://ssl.gstatic.com/gb/images/b_8d5afc09.png [1] => https://ssl.gstatic.com/gb/images/b8_3615d64d.png [2])因此,现在我想查找以下任何链接是否包含某些特定单词,例如“b_8d5afc09”,然后我想获取该链接并仅显示该链接。到目前为止,我已经尝试过使用“in_array”,但即使链接存在,它也永远找不到,我做错了什么吗?任何建议表示赞赏!if (in_array("b_8d5afc09", $out[0]))  {  echo "found";  }  else  {  echo "nope";  }
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

该函数in_array检查完整的针是否等于数组的一个值。不只是一部分。你可以strpos这样工作:


foreach( $out[0] as $value )  {

  if( strpos( $value, 'b_8d5afc09' ) !== false )  {

    echo "found in $value";

    break;

  }

}


查看完整回答
反对 回复 2022-10-14
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号