有没有办法使用 preg 表达式来搜索字符串并放入数组中? PHP
我一直在尝试使用 preg_split
但效果不是很好,这就是我使用它的方式:
$html_str = '<span class="spanClass" rel="rel span">Text Span</span>';
$arrTemp = preg_split('/\<span class=\"spanClass\" rel=\"(.+?)\"\>(.+?)\<\/span\>/', $html_str);
所以我会得到这 2 个 '(.+?)'
变量到一个数组(span rel 和 Text Span)
。
我可能没有以最好的方式来解决我的问题,但事实是我的字符串将有多个 与垃圾 html 混合,我需要将其分开仅数组中的
内容。还有更好的想法吗?
Ive been trying to use preg_split
but it's not working very well, this is how I'm using it:
$html_str = '<span class="spanClass" rel="rel span">Text Span</span>';
$arrTemp = preg_split('/\<span class=\"spanClass\" rel=\"(.+?)\"\>(.+?)\<\/span\>/', $html_str);
So I would get this 2 '(.+?)'
variables into an array(span rel and Text Span)
.
I'm probably not thinking about it in the best possible way to solve my problem, but the fact is that my string will have more than one <span>
mixed with trash html and I need to separate only the <span>
content in an array. Any better ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先 preg_split 是错误的函数,您实际上是从您似乎正在使用的正则表达式语法中理解 preg_match 。
正确的用法是:
这个输出:
所以上面使用 preg_match; $A[0] 包含整行 $A[1] rel= 内容和 $A[2] 文本范围内容。
First of all preg_split is the wrong function, you really meant preg_match from the syntax of regex that you seem to be using.
Correct use would be:
This outputs:
So above uses preg_match; $A[0] contains the entire line $A[1] the rel= stuff and $A[2] the Text Span stuff.