0

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

代码:

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 not even Array ( [0] => 1826 )

你对代码有什么建议吗?

4

2 回答 2

2

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

这样做echo $str_arr[0];会给你你的1826.

于 2013-06-30T15:42:47.193 回答
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
}
?>
于 2013-06-30T15:44:18.397 回答