Ⅰ php 字元串中取整數 如: $str='12|字元串'; 從$str中去前面的12出來.
<?php
$str='12|字元串';
echo (int)$str;
//輸出 12
如果你喜歡正則來解的
<?php
$str='12|字元串';
echo preg_replace('/(\d+).*/','\\1',$str);
Ⅱ PHP在字元串中截取出後三位數字並將該數字加一
<?php
$str="abcdefg001";
$num=intval(substr($str,strlen($str)-3,3))+1;
$num=sprintf("%03d",$num);
$str=substr($str,0,strlen($str)-3).$num;
echo$str;
?>
Ⅲ php怎麼把字元串中的數字取出來
解決這個問題的辦法,可以使用如下方法:
一、通過遍歷字元串,並對字元進行判斷。
二、使用正則表達式,取出數字。
Ⅳ php正則表達式字元串中提取數字,並截取其中的6位
<?php
$str='b37ba964bb7dfab1869e1cf8';
$preg="/d/is";
preg_match_all($preg,$str,$arr);
$temp=implode('',$arr[0]);
echo$temp;//匹配的數字
echo'<br/>'.substr($temp,1,4);//第2位開始取4個
echo'<br/>'.substr($temp,2,5);//第3位開始取5個
?>
Ⅳ 如何利用PHP 正則表達式從字元串中取整數
preg_match_all 方法
preg_match_all -- 進行全局正則表達式匹配 說明 int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 在 subject 中搜索所有與 pattern 給出的正則表達式匹配的內容並將結果以 flags 指定的順序放到 matches 中。 搜索到第一個匹配項之後,接下來的搜索從上一個匹配項末尾開始。 flags 可以是下列標記的組合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起來用沒有意義): PREG_PATTERN_ORDER 對結果排序使 $matches[0] 為全部模式匹配的數組,$matches[1] 為第一個括弧中的子模式所匹配的字元串組成的數組,以此類推。 <?php preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div align=left>this is a test</div>", $out, PREG_PATTERN_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n"; ?>
出自:http://ke..com/view/2122394.htm?fr=ala0_1_1
按LZ的題就是
preg_match_all ("|\d+|U", $str, $out, PREG_PATTERN_ORDER);
最後的匹配結果在$out[0]這個數組中
Ⅵ php截取一段字元串中第一個出現的數字或字母或冒號前面的中文漢字的語句怎麼寫
$string=preg_replace('/([a-z0-9:])+/','',$string1);
這樣就把數字 字母 冒號後面的字元串去掉了
Ⅶ php 獲取字元串內特定的值
你這個數據應該是json格式。在php中,要使用json_decode()解析成對象或者數組,這樣子才方便使用。不過這里有個局限,舉個例子:
$bad_json="{'bar':'baz'}";//鍵值對,要用雙引號,單引號是無效的。所以返回null。
json_decode($bad_json);//null
你這里的數據剛好就是單引號包裹鍵名和數值的,所以用json_decode會返回null。
解決辦法:
1、嚴格按照json的格式來構建這個數據,這樣子就很方便的使用json_decode函數了。這應該是最有好的方法。建議先嘗試這個。
2、對數據進行處理,單引號轉成雙引號,然後使用json_decode函數。這個要自己寫個處理數據的函數。這里給出一個簡單的處理,只是簡單的替換,未考慮數據裡面所含的單引號。
$data=str_replace("'", '"', $data); // 單引號替換成雙引號
$data=json_decode($data);
3、使用第三方類庫