从结果中删除字符

时间:2013-06-30 15:40:16

标签: php arrays string

如何从结果中删除字符。
当我尝试删除字符时,我有错误

代码:

function getInbetweenStrings($start, $end, $str){
$regex = "/$start([a-zA-Z0-9_]*)$end/";
preg_match_all($regex, $str, $matches);
return $matches[1];
}
$text ='<input type="hidden" name="elementId" value="1826" id="elementId">';
$str = $text;
$str_arr = getInbetweenStrings('<input type="hidden" name="elementId" value="', '" id="elementId">', $str);
print_r($str_arr);

此代码的结果如下所示

Array ( [0] => 1826 )

我只想要1826年 当我将print_r($str_arr);更改为echo $str_arr;时,代码只会将数组写入,而不是Array ( [0] => 1826 )

您对该代码有任何建议吗?

2 个答案:

答案 0 :(得分:2)

$str_arr是一个格式print_r()吐出的数组。

这样做echo $str_arr[0];会为您提供1826

答案 1 :(得分:0)

$str_arr是一个数组,你无法回应它。该数组包含元素,如果它们不是数组,则可以回显它们。

只需这样做:

echo $str_arr[0];

或者您可以将其分配给变量:

$your_var = $str_arr[0];
echo $your_var;

您的代码触发表单提交:

if(isset($_POST['submitted'])){
    function getInbetweenStrings($start, $end, $str){
    $regex = "/$start([a-zA-Z0-9_]*)$end/";
    preg_match_all($regex, $str, $matches);
    return $matches[1];
    }
    $text ='<input type="hidden" name="elementId" value="1826" id="elementId">';
    $str = $text;
    $str_arr = getInbetweenStrings('<input type="hidden" name="elementId" value="', '" id="elementId">', $str);
    //print_r($str_arr);
    $var = $str_arr[0];
    echo $var;
}
else
{
?>
<form method="post" action="">
    <input type="submit" value="Click the button" name="submitted" />
</form>
<?php
}
?>