我有一个这种形式的字符串:
<strong>dsds </strong><em>sdqsd </em><span style='text-decoration: underline;'>test</span>
我希望将它放在一个关联数组中:
array('strong' => 'dsds' , 'em' => 'sdqsd' , 'underline' => 'test');
这个数组中元素的顺序必须与它们在字符串中的顺序相同。
这意味着如果我有例如:
<span style='text-decoration: underline;'>test</span><strong>dsds </strong><em>sdqsd </em>
我得到:
array( 'underline' => 'test', 'strong' => 'dsds' , 'em' => 'sdqsd');
我尝试通过在循环中使用strpos来实现它,但如果我有一个大字符串,则会进行大量的迭代,那么使用正则表达式是否有更简单的方法?
感谢。
答案 0 :(得分:1)
1,只有在每个解析的HTML语句中每种类型只有一个tage时,才能使用标记名作为数组索引。
2,也许这个图书馆会有所帮助:http://simplehtmldom.sourceforge.net/
3,或者使用正则表达式创建自定义解析器。由于CPU性能要求很高,我真的不会建议这个解决方案。