2014-11-03 18 views
0

如何運行preg_match_all()?preg_match_all()從字符串中獲取一個數字

我想從一個字符串編號:

例如:我的結果:

(62)

我只想數量。並想要對幾個字符串做這件事。 這就是試試我做:

foreach($html2->find('small[class=menu-item__label__count]') as $aholder) { 

$holderdes=$aholder->outertext; 

preg_match_all('/([0-9]+)/', $holderdes,$num); 

echo $num.'<br>'; 

回報率爲 「陣列陣列陣列陣列...」

+0

嘗試'的print_r($ NUM)' – SBH 2014-11-03 12:57:03

+0

的var_dump($ NUM)是你的答案 – 2014-11-03 12:58:08

回答

0

您應該打印$num[0];

foreach($num[0] as $pattern) 
    // do something with $pattern 

而且您正則表達式看起來是錯誤的。如果你想匹配(61)你需要做的(包括括號):

'/\(([0-9]+)\)/' 
0

如果有像"(62)"

一個字符串,則您可以使用此:

<?php 
    $str = '(62)'; 
    preg_match_all('!\d+!', $str, $matches); 
    print_r($matches); 
?> 

輸出:

Array 
( 
    [0] => Array 
     (
      [0] => 62 
     ) 

) 

此外,如果您試圖回聲陣列($num)和你得到沒有errors轉錯誤報告調試!

error_reporting(E_ALL); 
ini_set("display_errors", 1); 
0

的preg_match返回一個數組如從documentation看到。

,如果你想看到的陣列中的所有內容使用

var_dump($sum); 

如果你只需要匹配

,你必須解決特定部分。

看一看爲正則表達式快速參考

  • [ABC]單個字符:A,B或C
  • [^ ABC]的任何單個字符但 的a,b,或c
  • [AZ]的範圍內的任何單個字符AZ - [A-ZA-Z]範圍AZ或AZ
  • ^啓動行的
  • 線的$結束 任何單個字符 - \ A的開始字符串
  • \ z字符串結尾
  • 。任何單個字符
  • \ S任何空白字符
  • \ S任何非空白字符
  • \ d任何數字
  • \ d任何非數字
  • \ W任何字字符(字母,數字,下劃線)
  • \ W任何非單詞字符 - \ b中所述單詞邊界字符
  • (...)捕捉一切封閉
  • (A | b)a或b
  • a?零或
  • 一個*零的一個或多個的一個
  • 一個+的一種或多種的
  • 一個{3}的
  • 一個{3,} 3或更大的
  • 恰好3
  • 一個{3,6}之間3和6的一個
0

此功能是完全explained上php.net在從一個字符串數組編號提取這個非常簡單的例子

查找:

<?php 
$strings = array ("fHzZGh4JMyfpc5visCC3q1a1ICBLWXnmfxoRa70S9HXHjBSVI4", 
    "1LRWmzTQBErP6kIqXRLMgzWoVdOJKrLpUbL99sZ3XdtscAvydG", 
    "5OMbG1hFMrTkMeThw64E80QqfLvxbZjo3tlsVzeJiDCDAn4D6C", 
    "lrYFqKKtarRHfteYHUDx4KAEjssvs12Ix5u3YGQKATQBxtqAhn", 
    "W3a3n0jzXtM2l5i8tOVnxPbBeGAz0ChzDQ6qhReQkdHTQ4sLmz"); 
$nums = array(); 
foreach ($strings as $string) { 
    preg_match_all('/\d+/', $string, $matches); 
    $nums[] = $matches; 
} 

print_r($nums); 

這是輸出:

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [0] => 4 
        [1] => 5 
        [2] => 3 
        [3] => 1 
        [4] => 1 
        [5] => 70 
        [6] => 9 
        [7] => 4 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [0] => 1 
        [1] => 6 
        [2] => 99 
        [3] => 3 
       ) 

     ) 

    [2] => Array 
     (
      [0] => Array 
       (
        [0] => 5 
        [1] => 1 
        [2] => 64 
        [3] => 80 
        [4] => 3 
        [5] => 4 
        [6] => 6 
       ) 

     ) 

    [3] => Array 
     (
      [0] => Array 
       (
        [0] => 4 
        [1] => 12 
        [2] => 5 
        [3] => 3 
       ) 

     ) 

    [4] => Array 
     (
      [0] => Array 
       (
        [0] => 3 
        [1] => 3 
        [2] => 0 
        [3] => 2 
        [4] => 5 
        [5] => 8 
        [6] => 0 
        [7] => 6 
        [8] => 4 
       ) 

     ) 

)