⑴ php如何提取大括弧中內容和參數 例如:{name='abc' count='2'}
1.建議使用json格式,這樣轉換簡單
使用json_decode或使用網上有現成的json.class.php的類,實現轉換
2.如果是自定義的
可以使用簡單的語句實現提取。
<?php
$param = "{name='abc' count='2'}";
$tmp = substr($param, 1, -1);
$tmpArr = explode(' ', $tmp);
foreach ($tmpArr as $v) {
eval('$' . $v . ';');
}
echo $name;
echo $count;
?>
⑵ php 提取數組中所有括弧內的內容,急,急,急
使用語句 implode('、',array_keys($arr[0])) 可以得到結果,測試代碼和運行結果如下圖:
⑶ PHP正則表達式提取字元串中尖括弧<>、小括弧()、中括弧[]、大括弧{}中的字元
1、
function f1($str)
{
$result = array();
preg_match_all("/^(.*)(?:<)/i",$str, $result);
return $result[1][0];
}
2、
function f2($str)
{
$result = array();
preg_match_all("/(?:<)(.*)(?:>)/i",$str, $result);
return $result[1][0];
}
3、
function f3($str)
{
$result = array();
preg_match_all("/(?:\()(.*)(?:\))/i",$str, $result);
return $result[1][0];
}
4、
function f4($str)
{
$result = array();
preg_match_all("/(?:\[)(.*)(?:\])/i",$str, $result);
return $result[1][0];
}
5、
function f5($str)
{
$result = array();
preg_match_all("/(?:\{)(.*)(?:\})/i",$str, $result);
return $result[1][0];
}
PS: (?:字元) 表示不捕獲這個字元。貌似PHP不支持將字元換成括弧。
否則的話可以將環視給嵌套進去,就可以循環匹配了。
PS2:環視:(?!) (?=) (?<!) (?<=)
有小於號的在右側匹配,沒有的在左側匹配。感嘆號表示不等,等於號表示相等。
PS3:都過了驗證器的驗證,驗證器見參考資料。
⑷ php 正則表達式 提取字元串內小括弧中的數字,只要數字
$str="一二三四五ABN420122(電話:123455)";
$reg=
'/.*\(.*:(.*)\)/';//
冒號
和$str保持一致
$reg=
'/.*\(.*(\d{6,})\)/';
$reg=
'/.*\(.*[^\d](\d+)\)/';
preg_match_all
($reg,$str,$want);
print_r
($want[1]);
3種正則
都可以