簡體   English   中英

php正則表達式

[英]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.

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