簡體   English   中英

PHP-強制不要忽略preg_match_all中的相同值

[英]PHP - Forcing to NOT IGNORE same values in preg_match_all

我在使用preg_match_all函數時遇到問題,默認情況下該函數會自動忽略相同的值。

碼:

$data = '<img src="images/smiles/lol.gif" alt="Laughing" border="0">  <img src="images/smiles/lol.gif" alt="Laughing" border="0">  <img src="images/smiles/lol.gif" alt="Laughing" border="0">';
preg_match_all('#<img src="images/smiles/(.+?)" alt=".+" border="0">#',$data,$out);
print_r($out);

結果:

Array
(
    [0] => Array
        (
            [0] => <img src="images/smiles/lol.gif" alt="Laughing" border="0">  <img src="images/smiles/lol.gif" alt="Laughing" border="0">  <img src="images/smiles/lol.gif" alt="Laughing" border="0">
        )

    [1] => Array
        (
            [0] => lol.gif
        )

)

我希望$out變量是這樣的:

Array
(
    [0] => Array
        (
            [0] => <img src="images/smiles/lol.gif" alt="Laughing" border="0">
            [1] => <img src="images/smiles/lol.gif" alt="Laughing" border="0">
            [2] => <img src="images/smiles/lol.gif" alt="Laughing" border="0">
        )

    [1] => Array
        (
            [0] => lol.gif
            [1] => lol.gif
            [2] => lol.gif
        )

)

我應該添加或更改哪個標志或參數以具有上述輸出? 提前致謝!

編輯

當然,我在$data變量中不僅只有這些HTML標記,還有一些其他標記和文本。

嘗試這個:

$data = '<img src="images/smiles/lol.gif" alt="Laughing" border="0">  <img src="images/smiles/lol.gif" alt="Laughing" border="0">  <img src="images/smiles/lol.gif" alt="Laughing" border="0">';
preg_match_all('#<img[^>]+src\\s*=\\s*[\'"]images/smiles/([^\'"]+)[\'"][^>]*>#i', $data, $out);
var_dump($out);

輸出為:

array
  0 => 
    array
      0 => string '<img src="images/smiles/lol.gif" alt="Laughing" border="0">' (length=59)
      1 => string '<img src="images/smiles/lol.gif" alt="Laughing" border="0">' (length=59)
      2 => string '<img src="images/smiles/lol.gif" alt="Laughing" border="0">' (length=59)
  1 => 
    array
      0 => string 'lol.gif' (length=7)
      1 => string 'lol.gif' (length=7)
      2 => string 'lol.gif' (length=7)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM