我在 php 中创建了一个正则表达式来查找 html 行中的标记和属性。它有效,但仅适用于第一个属性而不是重复。以下代码为我提供了第一个属性和值。
'@<barcode(\s([a-z]+)="([^"]+)").*/>@m'
因此,我添加了加号以使其重复,但它不起作用。
'@<barcode(\s([a-z]+)="([^"]+)")+.*/>@m'
添加加号后发生的情况是它只选择最后一个属性和值。
我只需要一个数组中的所有属性和值,所以我想知道我做错了什么。这是我正在搜索的可能的 html。有时并不总是需要属性,所以我必须考虑到这一点。
<barcode type="C128B" height="10" fontsize="0.4" code="testcode" align="L"/>
<barcode type="Hello"/>
<barcode type="Hello" code="balls"/>
<barcode type="C128B" height="10" fontsize="0.7" code="test" align="L"/>
我有一个关于 regex101 的示例来查看问题 https://regex101.com/r/jMdA6S/1
我们当前的应用程序有效,但只能通过重复以下几行
'@<barcode ([a-z]+)="(.*)" ([a-z]+)="(.*)" ([a-z]+)="(.*)" ([a-z]+)="(.*)" ([a-z]+)="(.*)".*/>@m'
这意味着每次我添加一个新属性时,我都必须在正则表达式中添加另一个代码块。我试图避免这种情况,因为我们有时必须添加一个新属性来添加不同的功能。
慕哥9229398
慕神8447489
慕盖茨4494581