我一直在尝试使用preg_split
,但效果并不好,这就是我使用它的方式:
$html_str = '<span class="spanClass" rel="rel span">Text Span</span>';
$arrTemp = preg_split('/\<span class=\"spanClass\" rel=\"(.+?)\"\>(.+?)\<\/span\>/', $html_str);
所以我会将这两个'(.+?)'
变量放到array(span rel and Text Span)
。
我可能没有以最好的方式来解决我的问题,但事实是我的字符串将有多个<span>
与垃圾html混合而我需要仅将{分开{ {1}}数组中的内容。有更好的想法吗?
答案 0 :(得分:0)
首先preg_split是错误的函数,你真的是指你正在使用的正则表达式语法中的preg_match。
正确使用将是:
$html = '<span class="spanClass" rel="foo bar">Text Span</span>';
preg_match("/<span.*rel=[\"']([^\"']+)[\"'][^>]*>([^<]+)<\/span>/", $html, &$A);
print_r($A);
输出:
Array
(
[0] => <span class="spanClass" rel="foo bar">Text Span</span>
[1] => foo bar
[2] => Text Span
)
以上使用preg_match; $ A [0]包含整行$ A [1] rel = stuff和$ A [2] Text Span的东西。