1
  1. 问题

    我有这样的字符串$str="a|apple||b|bat||c|cat||d|dog";

    从上面的字符串中,我想动态创建一个数组,新创建的数组 shud 看起来像这个 数组( [a] => apple [b] => bat [c] => cat [d] => dog)

  2. 问题

    我有这样的html字符串

                $html_string="<div>Content Div1</div>
                              <div>Content Div2</div>
                              <div>Content Div3</div>";
    

我怎样才能得到 3rd DIV ,结果答案应该是这样的

              $ans="<div>Content Div3</div>" ;

请任何人帮助我

4

5 回答 5

3

第一个

$str = "a|apple||b|bat||c|cat||d|dog";
$new_array = array();

$my_array = explode("||", $str);
$my_array = array_filter($my_array);

foreach ($my_array as $mine) {
  $my = explode("|", $mine);
  $new_array[$my[0]] = $my[1];
}

print_r($new_array);

// 输出

Array
(
    [a] => apple
    [b] => bat
    [c] => cat
    [d] => dog
)
于 2013-03-11T07:41:32.703 回答
1
**for second**

$html_string = "<div>Content Div1</div><div>Content Div2</div><div>Content Div3</div>";
$new_arr = explode("</div>", $html_string);
$my_data = $new_arr[2] . '</div>';
print_r($my_data);

// 输出

<div>Content Div3</div>
于 2013-03-11T07:47:59.063 回答
1

试试这个:

第一的

$str = "a|apple||b|bat||c|cat||d|dog";
$my_array = explode("||", $str);
$finalArr=array();
foreach($my_array as $my_arr)
{
   $myar = explode("|", $my_arr);
   $finalArr[$myar[0]]=$myar[1];
}
print_r($finalArr);

第二次

$html_string="<div>Content Div1</div><div>Content Div2</div><div>Content Div3</div>";
$secondArray = explode('</div>', $html_string);
echo $res = $secondArray[2] . "</div>";  

http://writecodeonline.com/php/上进行测试

于 2013-03-11T07:48:19.207 回答
1

试试这个:

第一个答案:

<?php
$str="a|apple||b|bat||c|cat||d|dog";
$parentArray = explode('||', $str);
$finalArray = array();
foreach($parentArray as $parentKey=>$parentValue)
{
    $childArray = explode('|', $parentValue);
    $finalArray[$childArray[0]] = $childArray[1];
}

echo "<pre>";
print_r($finalArray);
?>

第二个答案

<?php
$html_string="<div>Content Div1</div>
                          <div>Content Div2</div>
                          <div>Content Div3</div>";
$finalArray = explode('</div>', $html_string);
$resultRequired = $finalArray[2] . "</div>";                     
?>
于 2013-03-11T07:49:18.593 回答
1

对于你的第一个问题:

    $tmp_array = explode( '||', $str );
    $str_array = array();

    foreach( $tmp_array as $value ){

        $tmp = explode( '|', $value );
        $str_array[ $tmp[0] ] = $tmp[1];

    }

对于你的第二个问题

    $html_array = array();
    $pattern = '/\<div\>.*\<\/div\>/i';

    if( preg_match_all( $pattern, $html_string, $matches ) ) {
        $html_array = $matches[0];
    }

这将使:

    <div>Content Div3</div>

如果找到任何匹配项,则位于 $html_array[2] 中。

于 2013-03-11T07:59:23.660 回答