我想从opencart管理面板中的h1 title元素中删除图标。我正在尝试使用星号作为文件名的通配符,但它没有用完。 文档说搜索数据:
<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>
答案 0 :(得分:1)
在正则表达式中,星号*
是一个量词,表示匹配零次或多次。
我想你想要匹配任何东西,一次或多次。您可以使用.+
执行此操作。当然你不想要它,所以最终的模式是.+?
。
.
:匹配任何内容+
:量词,表示匹配一次或多次?
:+
后跟?
表示匹配ungreedy 让我们在代码中应用以上内容:
<h1><img src="view/image/.+?\.png" alt="" /> <?php echo preg_quote($heading_title); ?></h1>
\.png
preg_quote()
在$heading_title
变量中正确转义正则表达式保留字符答案 1 :(得分: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>