2017-05-29 51 views
-1

我有一個字符串非貪婪正則表達式吃太多

<div class="line"><input name="sid" value="" type="hidden"><img src="1.jpg" height="40" width="180"><input name="word" size="30" maxlength="50" value="" type="text"></div> 

,我試圖找到與NAME =字替換整個輸入,這個正則表達式:

/<input .+?word.+?>/ui 

的preg_match返回此:

array (
    0 => '<input name="sid" value="" type="hidden"><img src="1.jpg" alt="CAPTCHA" height="40" width="180"><input name="word" size="30" maxlength="50" value="" type="text">', 
) 

請幫我寫工作正則表達式

回答

0

使用這一個:/<input[^>]+name="word".+?>/ui

在你的模式找到simbols的第一<input,然後直到word ... 如果使用<input[^>]+它會找到<input比組除了關閉>直到name="word"

+0

你仍然有一個貪婪的比賽。 – AlVaz

+0

非常感謝! : - * –

+0

@AleksandrBannov請檢查最佳答案,如果您認爲如此 –

0

使用這一個:/<input ([^>]+)?name=['"]?word['"]?([^>]+)?>/ui