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

我对 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> 


慕田峪9158850
浏览 135回答 2
2回答

猛跑小猪

当您在循环中从 SimpleXML 返回一个项目时...foreach($xml->item as $item){&nbsp; &nbsp; $quoi=$item->tib;&nbsp; &nbsp; if (strstr($text,$quoi)) { echo 'yes';}}如果你添加var_dump($quoi);你会看到它实际上是一个 SimpleXMLElement 而不是一个字符串......class SimpleXMLElement#5 (1) {&nbsp; public ${0} =>&nbsp; string(11) "sangs rgyas"}之类的东西echo会将其转换为字符串,因此请使用if (strstr($text,(string)$quoi)) { echo 'yes';}

子衿沉夜

它正在返回一个您需要将其转换为字符串的对象。更正的代码&nbsp;$text=file_get_contents("text.txt");&nbsp;echo $text.'<br><br>';&nbsp;$xml = simplexml_load_file('listmv.xml');&nbsp;foreach($xml->item as $item)&nbsp;{$quoi=$item->tib;if (strstr($text,$quoi->__toString())) { echo 'yes';}&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP