1

如何使用 php 提取包含在 CDATA 标记中的字符串?例如我有

$str = "<![CDATA[this is my text]]>";

使用正则表达式如何提取字符串“这是我的文本”?

4

2 回答 2

6

您可以使用这个正则表达式/<!\[CDATA\[(.*?)\]\]>/::

$str = "<![CDATA[this is my text]]>";

$matches = array();
preg_match('/<!\[CDATA\[(.*?)\]\]>/', $str, $matches);
echo $matches[1]; // this is my text

正则表达式查找<![CDATA[后跟任何字符,直到]]>遇到第一个字符。

于 2012-06-13T05:47:13.900 回答
2

如果您的字符串始终以开头<![CDATA[和结尾,]]>则可以使用 substr()

$str = "<![CDATA[this is my text]]>";
$output = substr($str,9,strlen($str)-12);
echo $output;
于 2012-06-13T05:52:34.530 回答