我对 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';}
子衿沉夜
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';}
}
- 2 回答
- 0 关注
- 134 浏览
添加回答
举报
0/150
提交
取消