1

我正在尝试获取 HTML 标签之间的所有文本(如果有),并在其上放置一个函数.. 我的意思是.. 我现在的代码是

$code = preg_replace_callback('/(\(\s*\')\s*(.*?)\s*(\')/',
        function($matches) {
            return strtolower($matches);
        }, $code);

现在我想要的是:

  1. 如果有 HTML 标签 === 返回 HTML 标签 + strtolower(用于标签之间的文本)。

  2. 如果没有 HTML 标签 === 返回 strtolower(所有文本)


示例:如果我们有:

('TEST HERE this is a TEXT')

返回

('test here this is a text')

但如果使用 HTML 标签

<DIV CLASS='tesT'>This IS A TEXT</DIV><Div class='Test1'>THIS is another TEXT</DIV>

返回

<DIV CLASS='tesT'>this is a text</DIV><Div class='Test1'>this is another text</DIV>
4

1 回答 1

0
$str = preg_replace_callback( '/(<.+?>)*(.*?)/s', 'replace', $str );

function replace( $matches ) {
    return $matches[1].strtolower( $matches[2] );
}
于 2011-08-04T09:45:07.367 回答