2013-07-05 36 views
1

我想從opencart管理面板中的h1標題元素中刪除圖標。我試圖使用星號作爲文件名的通配符,但它沒有解決。 該文檔稱,搜索數據:使用正則表達式通配符搜索獲取圖像文件名vqmod

<h1><img src="view/image/*.png" alt="" /> <?php echo $heading_title; ?></h1>

應該是一個有效的正則表達式模式,雖然我不熟悉的正則表達式。我如何在vqmod中正確執行此操作?

<file name="admin/view/template/*/*.tpl"> 
    <operation> 
     <search regex="true" position="replace"><![CDATA[ 
      <h1><img src="view/image/*.png" alt="" /> <?php echo $heading_title; ?></h1> 
     ]]></search> 
     <add><![CDATA[  
      <h1><?php echo $heading_title; ?></h1> 
     ]]></add> 
    </operation> 
</file> 

回答

1

在vQmod逃避正常的正則表達式保留字符,正則表達式仍然需要有它的分隔符。由於您只是將其設置爲標題標題,所以您最好使用<h1>的通用搜索。

<file name="admin/view/template/*/*.tpl"> 
    <operation> 
     <search regex="true" position="replace"><![CDATA[~<h1>.*?</h1>~]]></search> 
     <add><![CDATA[<h1><?php echo $heading_title; ?></h1>]]></add> 
    </operation> 
</file> 
+0

我添加了'error =「skip」 「運作,它的工作。謝謝Jay – Lea

+2

現場專家+1 :) – HamZa

1

在正則表達式中,星號*是量詞,這意味着匹配零次或多次。
我想你想匹配任何東西,一次或多次。你用.+這樣做。當然,你想要它是不明智的,所以最終的模式是.+?

  • .匹配任何
  • +:一個量詞,這意味着匹配一次或多次
  • ?+隨後?表示匹配ungreedy

讓我們應用上述在代碼中:

<h1><img src="view/image/.+?\.png" alt="" /> <?php echo preg_quote($heading_title); ?></h1> 
  • 我們需要逃避的點在\.png
  • 我們將使用preg_quote()$heading_title可變
+0

謝謝。在我的文章中,我指出整個字符串需要是「有效的正則表達式模式」。我如何將這個應用到這個html,並且通配符應用於圖像名稱'

<?php echo $ heading_title; ?>

' – Lea

+0

@Lea我編輯了我的答案 – HamZa

+0

搜索數據需要保持原樣。如果你看到這篇文章,它可能會幫助你瞭解我的意思http://stackoverflow.com/questions/16624973/vqmod-wildcard-search-using-regex - 我需要一個類似的解決方案,而不是一個PHP字符串,但對於HTML我張貼在我以前的評論。 – Lea