[英]php regular expression
我在php字符串中有這個標簽:
<input type="submit" name="op" id="edit-submit" value="Log in" class="form-submit ajax-trigger" />
我想替換
<a href="#" onclick="document.user-login.submit();" class="sign-in">sign in</a>
我很確定我需要使用php函數preg_replace
但我不確定正則表達式。 是否可以創建一個正則表達式來替換所有<input type="submit" />
標記,而不管標記具有哪些附加屬性?
嘗試以下模式來捕獲所描述的所有輸入標記。 它將刪除標簽的其他屬性,我認為這是你要求的。
/<input type="submit"[^/]+\/>/
我自己沒有測試過,但它應該讓你朝着正確的方向前進。 [^ /] +是關鍵; 它捕獲所有不是“/”的字符,直到尾部的“/>”。
這個目標對於正則表達式來說足夠簡單。 在你的情況下:
$text = preg_replace('#<input\b[^>]*\s(type="submit")[^>]*>#i',
'<a href="#" onclick=".....', $text);
(查看一些正則表達式設計工具以滿足未來需求。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.