0

我有一个这种形式的字符串:

<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 来做到这一点,但如果我有一个大字符串,那将是很多迭代,那么有没有更简单的使用正则表达式的方法?

谢谢。

4

1 回答 1

1

1,只有在每个已解析的 HTML 语句中每种类型只有一个标签时,才能使用标签名称作为数组索引。

2,也许这个库会有所帮助:http ://simplehtmldom.sourceforge.net/

3,或者使用正则表达式创建自定义解析器。由于对 CPU 性能的要求很高,我真的不会建议这种解决方案。

于 2012-04-25T13:30:30.397 回答