在字符串中搜索并在PHP中创建数组

在字符串中搜索并在PHP中创建数组,php,string,search,Php,String,Search,如何转换这个字符串 *|text:student:required|* (*和|是字符串的一部分)放入如下数组 ['text' ,'student','required'] 给你: $str = "|text:student:required|"; $str = trim($str,"|"); $str = trim($str,"*"); $x = explode(':',$str); print_r($x);die; 给你: $str = "|text:student:requi

如何转换这个字符串

 *|text:student:required|* 
(*和|是字符串的一部分)放入如下数组

['text' ,'student','required']  
给你:

$str = "|text:student:required|";
$str = trim($str,"|");
$str = trim($str,"*");
$x = explode(':',$str);
print_r($x);die;
给你:

$str = "|text:student:required|";
$str = trim($str,"|");
$str = trim($str,"*");
$x = explode(':',$str);
print_r($x);die;
请尝试以下操作:

$str = '*|text:student:required|*';
$str = preg_replace("/[|*]/", '', $str);
$arr = explode(':', $str);
这只需使用
preg|u replace()
从字符串中删除
*
,然后使用
分解将字符串转换为数组。请尝试以下操作:

$str = '*|text:student:required|*';
$str = preg_replace("/[|*]/", '', $str);
$arr = explode(':', $str);
这只需使用
preg|u replace()
从字符串中删除
|
*
,然后使用
分解将字符串转换为一个数组

最短的函数:

$s = '*|text:student:required|* ';
$result = preg_split('/[*:| ]+/', $s, -1, PREG_SPLIT_NO_EMPTY);

print_r($result);
输出:

Array
(
    [0] => text
    [1] => student
    [2] => required
)
最短的一个功能:

$s = '*|text:student:required|* ';
$result = preg_split('/[*:| ]+/', $s, -1, PREG_SPLIT_NO_EMPTY);

print_r($result);
输出:

Array
(
    [0] => text
    [1] => student
    [2] => required
)


|
是字符串的一部分吗?是的|是字符串的一部分,字符串格式是*| text:student:required | ok@Rehman,检查答案。@RehmanAkbar那么,有什么解决方案对你有效吗?谢谢@mega6382你的解决方案有效。
|
是字符串的一部分吗?是的|是字符串的一部分,字符串格式是*| text:student:required | ok@Rehman,请查看答案。@RehmanAkbar那么,有什么解决方案对您有效吗?谢谢@mega6382您的解决方案有效。实际上在字符串的开始和结束处有一个*和|符号实际上在字符串的开始和结束处有一个*和|符号您的解决方案无效。
*
|
之前和之后,反之亦然。@mega6382,那是他的打字错误。请检查更新后的帖子。是的,但是你在
*
之前修剪
,你应该
*
之后修剪
。您应该将第2行和第3行移动。您使用的是更简单的初始字符串。此外,您还可以使用
trim($str,“|*”)
从任意一端修剪其中一个,而无需担心顺序您的解决方案无效。
*
|
之前和之后,反之亦然。@mega6382,那是他的打字错误。请检查更新后的帖子。是的,但是你在
*
之前修剪
,你应该
*
之后修剪
。您应该将第2行和第3行移动。您使用的是更简单的初始字符串。此外,您还可以使用
trim($str,“|*”)
从两端修剪其中一个,而无需担心顺序