1

这是我的 reg.xml:

<childrens>
<child_4 entity_id="4" value="Activities" parent_id="2">
    <child_10066 entity_id="10066" value="Physical1" parent_id="4">
    <child_10067 entity_id="10067" value="Cricket" parent_id="10066">
        <child_10068 entity_id="10068" value="One Day" parent_id="10067"/>
    </child_10067>
    </child_10066>
</child_4>
<child_4331 entity_id="4331" value="Region" parent_id="2">
    <child_5069 entity_id="5069" value="Irungattukottai" parent_id="4331"/>
</child_4331>
</childrens>

这是我的product.xml文件:

<products>
  <product_id value="1">
    <tab_id value="351">
      <tab_name value="test1"/>
      <region_timezone value="1"/>
      <registrationstatus value="2"/>
      <eventstatus value="2"/>
      <dist_activity value="5"/>
      <dist_activity value="10068"/>
      <dist_activity value="10070"/>
      <dist_region value="5069"/>
      <dist_region value="5069"/>
      <dist_region value="5069"/>
    </tab_id>
  </product_id>
  <product_id value="2">
    <tab_id value="352">
      <tab_name value="test2"/>
      <region_timezone value="1"/>
      <registrationstatus value="2"/>
      <eventstatus value="2"/>
      <dist_activity value="5"/>
      <dist_activity value="10069"/>
      <dist_activity value="10070"/>
      <dist_region value="4457"/>
      <dist_region value="7140"/>
      <dist_region value="5069"/>
   </tab_id>
  </product_id>
</products>

这是我的尝试:

<?php
 $abc= $_POST['name'];
 list($first,$second) = explode('in',$abc);

 $text1[]=$first;
 $text2[]=$second;
 foreach($text1 as $event)
{
$event;
}
foreach($text2 as $region1)
{
$region1;
}
$r = file_get_contents('reg.xml');
$p = file_get_contents('product.xml');

$region = simplexml_load_string($r);
$product = simplexml_load_string($p);

list($entity) = $region->xpath("//*[@value='$event']/@entity_id");
$entity=(string)$entity;
echo "event:- $event, Region:- $region1, entity:- $entity";
 ?>

这是我的 HTML 文件:

<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
    </script>
    <script>
    $(function(){
$("#filter").click(function(){
    var name = $('#select').val();
    alert(name);
    $.ajax({
        type: "POST",
        data: {"name":name} ,
        url: "array.php",
        async: false,       
        success: function(result) { 
        alert(result);
        $("#result").text(result);
        } 
    });   


    });
});
    </script>
</head>
<body>
    <input type="text" id="select">
    <input  type="button" id="filter" name="button" value="Search">
    <div id="result">
    </div>
</body>
</html>

我在文本框中输入了这个值: One Day in Irungattukottai
我试过这段代码,但它不起作用,它没有给我$entity.
如果我尝试手动设置$eventeg:- $event= "One Day"value 然后工作
所以帮我解决这个问题,我认为我的foreach. 谢谢。

4

1 回答 1

0

foreach 代码看起来很奇怪——不知道你想在那里做什么。但我认为您遇到的实际问题是explode(),因为它不会查看“in”一词两侧的空格,因此您的One Day 最后会出现一个空格,而Irungattukottai 会开头有空格。

您可以通过在explode() 中包含空格或在它产生的两个字符串上使用trim() 来解决这个问题。

于 2013-03-28T12:47:29.117 回答