正则表达式(将 br 和破折号转换为 li,或在 br 标签之间查找破折号)
regex (convert br and dash to li, or find dash between br tag)
如何将 PHP 上的“-”转换为列表 (li)?例子 HTML:
any text - any text any text any text any text any text
<br><br>- any text any text<br>- any text 1 2 3 | \ ,<br><br>
<br>any text
我尝试使用以下正则表达式:
(<\s*[^>]*>-\s?(.*?)<\s*[^>]*>)
但是只能找到第一个匹配...
通过这个可以找到我需要的一切-从<br>
标签开始,但它不能设置搜索的结束(它将在<br>
标签中):
<br>\s?-\s?(.*?)
(link 测试:https://regex101.com/r/CqjpzX/1)。
我不是 100% 确定这就是您要的,但是如果您想捕获 <br>-
和 <br>
之间的所有内容,您需要使用这样的正则表达式。
<br>\s?-\s?(.*?)(?=<br>)
这是您的文本示例https://regex101.com/r/71cHQB/1
希望对您有所帮助
另外不要忘记正则表达式后的 /g,这样它不会在第一次匹配后停止。
如何将 PHP 上的“-”转换为列表 (li)?例子 HTML:
any text - any text any text any text any text any text
<br><br>- any text any text<br>- any text 1 2 3 | \ ,<br><br>
<br>any text
我尝试使用以下正则表达式:
(<\s*[^>]*>-\s?(.*?)<\s*[^>]*>)
但是只能找到第一个匹配...
通过这个可以找到我需要的一切-从<br>
标签开始,但它不能设置搜索的结束(它将在<br>
标签中):
<br>\s?-\s?(.*?)
(link 测试:https://regex101.com/r/CqjpzX/1)。
我不是 100% 确定这就是您要的,但是如果您想捕获 <br>-
和 <br>
之间的所有内容,您需要使用这样的正则表达式。
<br>\s?-\s?(.*?)(?=<br>)
这是您的文本示例https://regex101.com/r/71cHQB/1
希望对您有所帮助
另外不要忘记正则表达式后的 /g,这样它不会在第一次匹配后停止。