Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: спарсить весь alt="" [2]
Форумы портала PHP.SU » PHP » Регулярные выражения » спарсить весь alt=""

Страниц (2): « 1 [2]
 

16. EuGen - 05 Апреля, 2012 - 20:31:57 - перейти к сообщению
Altynayka
PHP:
скопировать код в буфер обмена
  1. $sAlt  = 'test';
  2. $sText = '
  3. <img src="some_image.png" height="200" width="300">
  4. some text
  5. <img src="image.jpg" alt="has alt">
  6. <img alt=\'alt\'>
  7. some new text
  8. <img alt=noquotes src="img.gif">';
  9. $sText= preg_replace_callback('/\<img(.*?)\>/smi', function($rgMatches) use ($sAlt)
  10. {
  11.    $sResult = $rgMatches[1];
  12.    preg_match_all('/([^\=\s]+)[\=\s]+[^\s]+/sm', $rgMatches[1], $rgAttributes, PREG_PATTERN_ORDER);
  13.    if(!in_array('alt', $rgAttributes[1]))
  14.    {
  15.       $sResult = '<img'.$sResult.' alt="'.$sAlt.'"'.'>';
  16.    }
  17.    else
  18.    {
  19.       $sResult = $rgMatches[0];
  20.    }
  21.    return $sResult;
  22. }, $sText);
  23. //var_dump($sText);

?

 

Powered by ExBB FM 1.0 RC1