-1

如何在这样的字符串上获取类的值:

$string = 'some text <div class="myClassValue">text</div> some text';

请记住,在字符串中可能有超过 1 个带有类的 div。

4

2 回答 2

1

尝试简单的 html dom 解析器 -> http://simplehtmldom.sourceforge.net/,如有必要,您可以循环遍历 div

也不要像约翰康德所说的那样使用正则表达式,只在最坏的情况下使用它。

于 2013-03-21T16:15:00.063 回答
1

正如 John Conde 评论的那样,您不应该使用 Regex 来解析 HTML。由于层次结构、不同的标签、无效的代码,事情会变得非常复杂。哦,是的,性能很糟糕。

但是,在这种特殊情况下,您可能正在处理一个 HTML 元素,但您不需要解析它。所以我认为在这种情况下正则表达式不会受到伤害。

preg_match_all('/class="(.*?)"/i', $string, $matches);
var_dump($matches); // array of matches

$matches[0]将包含整个匹配项 ( class="myClass")

$matches[1]will 仅包含类 ( myClass)

于 2013-03-21T16:14:26.137 回答