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

strstr 不适用于 xml 文件中的变量

strstr 不适用于 xml 文件中的变量

PHP
慕田峪9158850 2022-01-02 16:21:11
我对 php 中的函数 strstr 有一些问题。 $text=file_get_contents("text.txt");  echo $text.'<br><br>'; $xml = simplexml_load_file('listmv.xml'); foreach($xml->item as $item) {$quoi="sangs rgyas";if (strstr($text,$quoi)) { echo 'yes';} }strstr 返回“是”, $text=file_get_contents("text.txt"); echo $text.'<br><br>'; $xml = simplexml_load_file('listmv.xml'); foreach($xml->item as $item) {$quoi=$item->tib;if (strstr($text,$quoi)) { echo 'yes';} }不起作用。这是怎么回事?XML 文件:-<list>   <item>    <tib>sangs rgyas</tib>    <ref>1524</ref>  </item>   <item>    <tib>rgya gar skad du</tib>    <ref>1522</ref>  </item>   <item>    <tib>shes pa dang</tib>    <ref>1523</ref>  </item>   <item>    <tib>'tsho ba dang</tib>    <ref>1525</ref>  </item> </list> 
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

当您在循环中从 SimpleXML 返回一个项目时...


foreach($xml->item as $item)

{

    $quoi=$item->tib;

    if (strstr($text,$quoi)) { echo 'yes';}

}

如果你添加


var_dump($quoi);

你会看到它实际上是一个 SimpleXMLElement 而不是一个字符串......


class SimpleXMLElement#5 (1) {

  public ${0} =>

  string(11) "sangs rgyas"

}

之类的东西echo会将其转换为字符串,因此请使用


if (strstr($text,(string)$quoi)) { echo 'yes';}


查看完整回答
反对 回复 2022-01-02
?
子衿沉夜

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

它正在返回一个您需要将其转换为字符串的对象。更正的代码


 $text=file_get_contents("text.txt");

 echo $text.'<br><br>';

 $xml = simplexml_load_file('listmv.xml');

 foreach($xml->item as $item)

 {

$quoi=$item->tib;

if (strstr($text,$quoi->__toString())) { echo 'yes';}

 }


查看完整回答
反对 回复 2022-01-02
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信