すべての タグに一致する正規表現が必要です。
すべての タグに一致する正規表現が必要です。このタグの SRC 属性には一致という単語を含めることはできません。
ありがとうございます。
<pre class="brush:php;toolbar:false"> <?php $string="adsfasdfa<img src='http://avatar.profile.csdn.net/3/6/F/2_jimx102.jpg'>fasdfadsfadsf"; preg_match_all('/<img(?!.*?logo).*>/',$string,$matches); print_r($matches); ?>
<img(?!.*?logo).*> <img - 开头数据 (?! - 负向预查后面的字符 .*?贪婪匹配logo前面所有数据 (?!.*?logo) - 意为匹配所有不包含logo .*> 则是 匹配所有换行前的> - 此处不使用 .*? 进行贪婪主要是为了避免 alt="abc>" 这样中间出现> 字符的情况 不过上面会出现个特例情况 例如 <img src="abc.jpg" alt="logo图片"> alt提示包含logo <img src="test.jpg" logo=1 > 自定义属性 如果考虑这些情况,正则可以再细化到src位置 <img(.*?)(src)=\"(?!.*?logo).*>
-----解決策------
<img(?!.*?logo).*> <img - 开头数据 (?! - 负向预查后面的字符 .*?贪婪匹配logo前面所有数据 (?!.*?logo) - 意为匹配所有不包含logo .*> 则是 匹配所有换行前的> - 此处不使用 .*? 进行贪婪主要是为了避免 alt="abc>" 这样中间出现> 字符的情况 不过上面会出现个特例情况 例如 <img src="abc.jpg" alt="logo图片"> alt提示包含logo <img src="test.jpg" logo=1 > 自定义属性 如果考虑这些情况,正则可以再细化到src位置 <img(.*?)(src)=\"(?!.*?logo).*>
上記は、すべてに一致する正規表現が必要です タグとその対処方法については、PHP 中国語 Web サイト (www.php.cn) に注意してください。